如果我有一个如下所示的嵌套列表:
bigstringlist = [['rob', 'bob', 'sam', 'angie'], ['jim', 'angie', 'tom', 'sam'], ['sam', 'mary', 'angie', 'sally']]
如何遍历此列表并提取出现在所有嵌套列表中的名称列表?即:
finallist = ['sam', 'angie']
通过将这个嵌套列表作为集合进行类型转换,可以更好地实现这一目标吗?
答案 0 :(得分:11)
reduce(set.intersection, map(set , bigstringlist))
答案 1 :(得分:0)
奇点解决方案的变体,可能会快一点:
bigstringiter = iter(bigstringlist)
reduce(set.intersection, bigstringiter, set(next(bigstringiter)))