我有一个集合列表:
setlist = [s1,s2,s3...]
我想要 s1 ∩ s2 ∩ s3 ...
我可以编写一个函数来通过执行一系列成对的操作来完成此操作s1.intersection(s2)
, etc.
有推荐的、更好的或内置的方法吗?
从 Python 2.6 版本开始,您可以使用多个参数set.intersection() https://docs.python.org/library/stdtypes.html#frozenset.intersection, like
u = set.intersection(s1, s2, s3)
如果集合位于列表中,则这将转换为:
u = set.intersection(*setlist)
where *a_list
is 列表扩展 https://stackoverflow.com/questions/36901/what-does-double-star-and-star-do-for-python-parameters
注意set.intersection
is not静态方法,但这使用函数符号来应用第一个集合与列表其余部分的交集。因此,如果参数列表为空,则会失败。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)