假设我有一个元素都相同的列表列表(在这个例子中,我将使用
什么是取这些列表的交集的好方法或有效的方式(这样您将获得每个列表中都存在的元素)?对于该示例,结果应为:
int
)[range(100)[::4], range(100)[::3], range(100)[::2], range(100)[::1]]
什么是取这些列表的交集的好方法或有效的方式(这样您将获得每个列表中都存在的元素)?对于该示例,结果应为:
[0, 12, 24, 36, 48, 60, 72, 84, 96]
set.intersection(set(x) for x in data)
。 - David Zset(datas[0]).intersection(*datas[1:])
并计时,这对我来说具有很好的性能优势。 - Mike Graham*(...)
来将生成器的项应用为参数。除此之外,这绝对是一个不错的方法。我没有使用它的主要原因是强调如果你正在执行像交集这样的操作,你可能已经有了集合。 - Mike Graham