繁体   English   中英

如何将一个列表分成两个列表并获得所有可能的组合

[英]how to divide a list to two lists and get all possible combinations

我有一个清单:

list1 = [1,2,3]

我想把它放到两个列表中:

list2 = [[], [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]]
list3 = [[1,2,3], [2,3], [1, 3], [1, 2] ,[3], [2], [1], []]

我尝试了不同的循环,但没有得到所有的组合,我想也许有一种优雅的方式来代替。

也许使用 itertools。

import itertools

list2 = []
for i in range(4):
    for j in itertools.combinations([1,2,3], r=i):
        list2.append( list(j) )

output

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM