Python как перебирать список и сравнивать списки найденных строк - PullRequest
2 голосов
/ 06 ноября 2010

Если у меня есть вложенный список, который выглядит следующим образом:

bigstringlist = [['rob', 'bob', 'sam', 'angie'], ['jim', 'angie', 'tom', 'sam'], ['sam', 'mary', 'angie', 'sally']]

Как мне перебрать этот список и извлечь список имен, которые появляются во всех вложенных списках?то есть:

finallist = ['sam', 'angie']

Будет ли это лучше сделать, если типизировать этот вложенный список как набор?

Ответы [ 2 ]

11 голосов
/ 06 ноября 2010
reduce(set.intersection, map(set , bigstringlist))
0 голосов
/ 06 ноября 2010

Вариант решения сингулярности, возможно, немного быстрее:

bigstringiter = iter(bigstringlist)
reduce(set.intersection, bigstringiter, set(next(bigstringiter)))
...