Leo*_*eon 5 python combinations list-comprehension python-3.x
假设我有一个名为arr = [1,2,3,4]的数组
如何使用最少2个参数生成所有可能的组合,最终看起来像
[1,2]
[1,3]
[1,4]
[1,2,3]
[1,2,4]
[1,2,3, 4]
[2,3]
[2,4]
Run Code Online (Sandbox Code Playgroud)
等等等等?我正在努力工作.我似乎无法使用itertools.combinbinations或排列,因为我需要知道参数大小,我似乎不能使用itertools.products,因为这将从列表列表中的每一个看起来像这样最少一个参数[[1],[2],[3],[4],[5]].特别感谢一个衬里和理解.
如果我想将它们全部加在一起那么在帮助方面要求太多吗?;-)
hiv*_*ert 12
怎么样:
(x for l in range(2, len(arr)) for x in itertools.combinations(arr, l))
Run Code Online (Sandbox Code Playgroud)
要么
[x for l in range(2, len(arr)) for x in itertools.combinations(arr, l)]
Run Code Online (Sandbox Code Playgroud)
如果你需要清单.
这相当于以下嵌套循环
res = []
for l in range(2, len(arr)):
for x in itertools.combinations(arr, l):
res.append(x)
return res
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2834 次 |
| 最近记录: |