我多次调用Python函数,并且它返回带有以下之一的列表:
1)单次入境
2)多次入境
3)空白清单
例如:
a=['aaaaa']
b=['aaaaa', 'bbbbb', 'ccccc']
c=['aaaaa']
d=['ppppp', 'aaaaa']
e=['aaaaa', 'uuuuu']
现在,我想在所有列表中找到公用字符串。
我可以对两个列表执行以下操作:
intercept_list=[val for val in a if val in b]
是否可以一次完成多个列表?另外假设列表“ e”返回一个空列表,我只想忽略它。
谢谢
最佳答案
怎么样:
set.intersection(*(set(s) for s in list_of_lists if s))
例如:
>>> a=['aaaaa']
>>> b=['aaaaa', 'bbbbb', 'ccccc']
>>> c=['aaaaa']
>>> d=['ppppp', 'aaaaa']
>>> e=['aaaaa', 'uuuuu']
>>> f=[]
>>> list_of_lists = [a,b,c,d,e,f]
>>> set.intersection(*(set(s) for s in list_of_lists if s))
set(['aaaaa'])
关于python - 查找列表条目的公共(public)分母Python,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21191301/