Combinaciones de generación

Cada vez que tengo que hacer esto, "invento" una forma diferente. Hora de estandarizar. Sospecho que hay algún comando predeterminado que pasé por alto listo para hacer esto, así que lamento de antemano si la pregunta es demasiado trivial.

¿Cuál es la mejor manera (memoria, rendimiento) de obtener:

 combinations[{1,2,3},2] = {{1,2},{1,3},{2,3}}

con elementos arbitrarios en la lista de entrada, por supuesto.

Respuestas a la pregunta(2)

Su respuesta a la pregunta