2016-11-29 37 views
0

我想要像這樣的列表:如何在Python3中創建組合列表?

seq = [1,2,3] 
\# implementation 
print(result) \# [[1], [1,2], [1,2,3], [2], [2,3], [3]] 
+0

看看這個。 http://stackoverflow.com/questions/1617699/how-to-obtain-all-subsequence-combinations-of-a-string-in-java-or-c-etc問題是針對Java,但第一個答覆也在python中顯示算法。你想要的是權力。 – molig

+0

那麼,我必須做出一個原始的powerset函數來消除像powerset中的[1,3]這樣的不連續元素嗎? –

回答

0

最後我能找到一個解決方案通過自己:

N = 3 
print([list(range(i, j)) for i in range(1,N+2) for j in range(i+1,N+2)]) 

,或者

N = 3 
lis = [list(range(i + 1, j + 1)) for (i, j) in itertools.combinations(list(range(N + 1)), 2)] 
print(lis) 

謝謝!