繁体   English   中英

从列表创建子列表

[英]Creating sub-lists from a list

我试图在python中创建一个包含子列表的列表; 例如,集合的适当子集。 例如,

A = [1, 2, 3, 4]

Desired List = [[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4], [1, 2, 3], [1, 2, 4], [2, 3, 4]]

谢谢!

看来您想从列表中获取所有组合。 尝试使用itertools.combinations

desired_list = itertools.combinations(A, 2)

既然您似乎只想要大小为2或更大的子集:

from itertools import combinations, chain
A = range(1, 5)
list(chain(*(combinations(A, r) for r in range(2, len(A)))))
# [(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4), (1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)]

如果需要所有适当的子集,只需将range(2, len(A))更改为range(len(A))

暂无
暂无

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

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