["python","list","set","intersection"]
Python -Intersection of multiple lists?

I am playing with python and am able to get the intersection of two lists: result = set(a).intersection(b) Now if d is a list containing a and b and a third element c, is there an built-in function for finding the intersection of all the three lists inside d? So for instance, d = [[1,2,3,4], [2,3,4], [3,4,5,6,7]] then the result should be [3,4]
for 2.4, you can just define an intersection function. def intersect(*d): sets = iter(map(set, d)) result = sets.next() for s in sets: result = result.intersection(s) return result for newer versions of python: the intersection method takes an arbitrary amount of arguments result = set(d[0]).intersection(*d[1:]) alternatively, you can intersect the first set with itself to avoid slicing the list and making a copy: result = set(d[0]).intersection(*d) I'm not really sure which would be more efficient and have a feeling that it would depend on the size of the d[0] and the size of the list unless python has an inbuilt check for it like if s1 is s2: return s1 in the intersection method. >>> d = [[1,2,3,4], [2,3,4], [3,4,5,6,7]] >>> set(d[0]).intersection(*d) set([3, 4]) >>> set(d[0]).intersection(*d[1:]) set([3, 4]) >>>