gpt4 book ai didi

python - 如何尽可能拆分列表?

转载 作者:太空宇宙 更新时间:2023-11-03 15:22:17 24 4
gpt4 key购买 nike

对于像这样的列表

a = [1,2,3,4,5]

我想在结果中获取所有两个元素子集,例如:

[((1, 2), (3, 4)),
((1, 2), (3, 5)),
((1, 2), (4, 5)),
((1, 3), (2, 4)),
((1, 3), (2, 5)),
((1, 3), (4, 5)),
((1, 4), (2, 3)),
((1, 4), (2, 5)),
((1, 4), (3, 5)),
((1, 5), (2, 3)),
((1, 5), (2, 4)),
((1, 5), (3, 4))]

我写了一个愚蠢的代码,例如:

b=[]

for i in combinations(a,2):
for j in combinations(a,2):
if(set(i).intersection(j)==set()):
b.append((i,j))

谁有好的办法吗?

最佳答案

@insomnia 下面的代码用于生成排列,我认为可以很容易地自定义它以适合您的情况:

import itertools
a = [1,2,3,4,5]
result = []
for combo in itertools.permutations(a, 2):
result.append(combo)
print(len(result))

关于python - 如何尽可能拆分列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43439721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com