gpt4 book ai didi

Python - 查找列表中所有可能的元素分组

转载 作者:行者123 更新时间:2023-12-01 09:27:41 26 4
gpt4 key购买 nike

我正在尝试找到一种很好的 Pythonic 方法来查找将列表分为两组的所有可能组合,如下例所示:

my_array = [A,B,C]

输出应该是:

[[[A],[B]]
[[A],[B,C]]
[[A],[C]]
[[A,B],[C]]
[[A,C],[B]]
[[B],[A]]
[[B],[A,C]]
[[B],[C]]
[[B,C],[A]]
[[C],[A]]
[[C],[A,B]]
[[C],[B]]]

谢谢!

最佳答案

也许这就是您所需要的:

import itertools

my_array = ['A','B','C']

combos = []

for i in range(1,len(my_array)):
combos += itertools.combinations(my_array, i)

result = []

for c1 in combos:
curr = list(c1)
for c2 in combos:
if not any(i in curr for i in c2):
result.append([curr, list(c2)])
result
#[[['A'], ['B']],
# [['A'], ['C']],
# [['A'], ['B', 'C']],
# [['B'], ['A']],
# [['B'], ['C']],
# [['B'], ['A', 'C']],
# [['C'], ['A']],
# [['C'], ['B']],
# [['C'], ['A', 'B']],
# [['A', 'B'], ['C']],
# [['A', 'C'], ['B']],
# [['B', 'C'], ['A']]]

关于Python - 查找列表中所有可能的元素分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50236637/

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