gpt4 book ai didi

python - 计算两个列表的所有幂集交集

转载 作者:行者123 更新时间:2023-11-28 22:13:47 25 4
gpt4 key购买 nike

我找到了很多关于查找两个列表的交集的文章,但是没有一篇写过如何获得所有交集(也许可以称为子交集)。

例子:

list1 = ['a', 'b', 'c', 'd']
list2 = ['b', 'c', 'd', 'e']

print (find_all_intersections(list1, list2))

输出:

['b', 'c', 'd', 'bc', 'bd', 'cd', 'bcd']

有什么函数可以做到这一点吗?

最佳答案

嗯,其实很简单。找到交点后,计算幂集:

from itertools import chain, combinations

s = set(list1).intersection(list2)
[''.join(c) for c in chain.from_iterable(
combinations(s, r) for r in range(len(s)+1)) if c]

['b', 'c', 'd', 'bc', 'bd', 'cd', 'bcd']

可以找到有关生成动力集的更多信息 here .

关于python - 计算两个列表的所有幂集交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53711280/

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