【发布时间】:2021-08-20 09:49:42
【问题描述】:
我希望列表中所有可能的长度组合最多为 2 个。我想要它作为单行,我知道如何在更多行中做到这一点。当我尝试这个时:
mylist=[1, 2, 3, 4]
[x for l in range(1,3) for x in itertools.combinations(mylist, l)]
我得到这个结果,逗号附加到长度 1 的组合。
[(1,), (2,), (3,), (4,), (1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]
我不太明白它们来自哪里。当然,我可以删除它们,但这对我来说似乎不对,我确信必须有另一种方法来生成此列表而无需额外的逗号。这就是我想要的:
[(1), (2), (3), (4), (1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]
【问题讨论】:
-
(1,)表示它们是一个元组 -
我当然可以删除它们 - 具体如何?
标签: python combinations itertools