2017-01-16 16 views
0

У меня есть список элементов, скажемКак перебирать комбинации списка

list = [1, 2, 3, 4] 

, и я хотел бы перебирать пары различных элементов этого списка, так

for x, y in some_iterator(list): 
    print x, y 

должен показать

1 2 
1 3 
1 4 
2 3 
2 4 
3 4 

Обратите внимание, что я не хочу все комбинации list как в this question. Просто комбинации заданной длины.

Что было бы самым питоническим способом сделать это?


Что делать, если я хотел сделать то же самое с n-uples? Например, с комбинациями 3 элементов из n

for x, y, z in another_iterator(list): 
    print x, y, z 

показать бы

1 2 3 
1 2 4 
2 3 4 

ответ