假设我有一个所有元素都相同的列表(int在此示例中将使用s)
int
[range(100)[::4], range(100)[::3], range(100)[::2], range(100)[::1]]
采用这些列表的交集的一种好方法和/或有效的方法是什么(这样您将获得每个列表中的每个元素)?对于示例将是:
[0, 12, 24, 36, 48, 60, 72, 84, 96]
使用具有交集方法的集。
>>> s = set() >>> s.add(4) >>> s.add(5) >>> s set([4, 5]) >>> t = set([2, 4, 9]) >>> s.intersection(t) set([4])
例如,类似
>>> data = [range(100)[::4], range(100)[::3], range(100)[::2], range(100)[::1]] >>> sets = map(set, data) >>> print set.intersection(*sets) set([0, 96, 36, 72, 12, 48, 84, 24, 60])