How to find common elements in list of lists?

后端 未结 7 1196
無奈伤痛
無奈伤痛 2020-11-27 18:13

I\'m trying to figure out how to compare an n number of lists to find the common elements. For example:

p=[ [1,2,3],
    [1,9,9],
      ..
      ..
    [1,2         


        
7条回答
  •  情话喂你
    2020-11-27 19:07

    You are looking for the set intersection of all the sublists, and the data type you should use for set operations is a set:

    result = set(p[0])  
    for s in p[1:]:
       result.intersection_update(s)
    print result
    

    However, there is a limitation of 10 lists in a list. Anything bigger causes 'result' list to be out of order. Assuming you've made 'result' into a list by list(result).

    Make sure you result.sort() to ensure it's ordered if you depend on it to be that way.

提交回复
热议问题