gpt4 book ai didi

python - 查找集合列表的组合

转载 作者:太空宇宙 更新时间:2023-11-04 10:08:11 24 4
gpt4 key购买 nike

我正在使用 python 2.7。给定一组集合,是否有任何快速有效的方法来生成组合?输入集在每个集合中总是有一个项目,输出集的长度都是 2

来自:

[set(['item1']), set(['item2']), set(['item3'])]

收件人:

[set(['item1','item2']), set(['item2','item3']), set(['item3','item1'])]

最佳答案

由于集合列表中的元素都是 1 元素集合,因此您要查找的组合只是这些集合并集的 2 元素子集。您可以像这样获得它们:

>>> import itertools

>>> sets = [set(['item1']), set(['item2']), set(['item3'])]
>>> elements = set()
>>> for s in sets: elements.update(s)

因此

>>> elements
{'item1', 'item2', 'item3'}

然后,就这样:

>>> pairs = [set(combo) for combo in itertools.combinations(elements,2)]
>>> pairs
[{'item1', 'item2'}, {'item1', 'item3'}, {'item2', 'item3'}]

关于python - 查找集合列表的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39817675/

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