2014-05-01 2 views
0

나는 목록의 모든 순열을 얻고 싶지만 순서에 관계없이 반복을하지 말고. 설명하기가 어렵습니다. 예를 들어 드리겠습니다. 나는 항상이 작업을 사용하기 때문에이 작업의 이름을 알고 싶습니다. 또한 파이썬에서 이것을 달성하는 간단한 방법은 정말 나를 도울 것입니다. 감사! itertools.combinations를 사용대체하지 않고 모든 순열을 얻으시겠습니까?

예컨대

['foo', 'bar', 'la'] 

==> 

['foo', 'bar'] 
['foo', 'la'] 
['ba', 'la'] 
+4

이 순열 아니다, 이것은 반복이없는 조합이다. 또한, "대체"는 무엇입니까? –

+0

지혜의 덩어리는 내가 찾는 것을 꽤 많이 감사합니다. – TimRich

답변

5

:

>>> import itertools 
>>> list(itertools.combinations(['foo', 'bar', 'la'], 2)) 
[('foo', 'bar'), ('foo', 'la'), ('bar', 'la')] 
관련 문제