什么是在python中获取N-many列表的最简单方法?
如果我有两个列表a和b,我知道我可以这样做:
a = set(a)
b = set(b)
intersect = a.intersection(b)
Run Code Online (Sandbox Code Playgroud)
但是我想为一组任意列表做一些类似a&b&c&d&...的事情(理想情况下不先转换为一组,但如果这是最简单/最有效的方式,我可以处理它.)
即我想编写一个函数intersect(*args),它将有效地为任意多个集合执行.最简单的方法是什么?
编辑:我自己的解决方案是减少(set.intersection,[a,b,c]) - 这样好吗?
谢谢.
小智 13
这适用于1个或多个列表.0列表的情况并不那么容易,因为它必须返回一个包含所有可能值的集合.
def intersection(first, *others):
return set(first).intersection(*others)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3727 次 |
最近记录: |