2013-04-17 2 views
2

의 나는 다음과 같은 목록이 있다고 가정 해 보자 : 나는 다음과 같은 출력을 얻을 할Python : 부분 집합의 순열 목록을 얻으려면 어떻게해야합니까?

L = [1, 2, 3] 

:

[[1], [2],[3]] 
[[1], [2, 3]] 
[[2], [1, 3]] 
[[3], [1, 2]] 

를 내가 제대로 질문을 말로 표현하는 경우도 모르겠어요 제외. 기본적으로 반복되지 않는 순열 그룹과 같습니다.

+0

나는 그가 원하는 것은주기 표기법으로 모든 순열을 얻는 것이라고 믿는다. –

+0

powerset과 같은 것을 찾고 계십니까? http://docs.python.org/2/library/itertools.html#recipes – jamylak

+0

정확한 출력을 생성하는 프로그램을 작성할 수 있다고 생각하지만 출력 결과를 얻지 못합니다 ... 설명 할 수 있습니까? 더? – George

답변

-1

그것은 당신이 당신의 출력 (또 다른 예 또는 도움이 더 나은 설명)에 와서 어떻게 나에게 특히 분명하지 않다,하지만 대답은 아마 조합과 순열과 작업 도구를 포함 itertools에있다 :

>>> data = [1, 2, 3] 
>>> list(zip(reversed(data), itertools.combinations(data, 2))) 
[(3, (1, 2)), (2, (1, 3)), (1, (2, 3))] 
+0

아래 표와 함께 이유를 얻는 것이 유용 할 것입니다. 질문의 모호성을 고려할 때 이것이 완벽한 해답이 아닐 것이라는 점에 동의합니다. 최선의 방법입니다. 확실히 '유용하지 않습니다'. –

관련 문제