2017-05-18 9 views
0

私はリストのリストを持っています。私はより大きいリストのすべての "サブリスト"に存在する要素を見つけて返す必要があります。Python:リストのリスト、すべての "サブリスト"に存在する戻り要素

list_of_lists = [["superman", "batman", "spiderman"], ["aquaman", "superman"]] 

「superman」をlist_of_listsから戻すにはどうすればよいですか。おかげであなたが行うことができ、事前に

+0

残念ながら、私は内容のいずれかの知識を持っていませんリストは、私は "スーパーマン"を明示的にチェックすることはできません。 –

+0

私は答えましたが、その後正確な重複を見つけました(もっとよく答えました!)。次のようにすることができます: 'print(set.intersection(* map(set、list_of_lists)))' –

答えて

0
import itertools 
s = set(itertools.chain(*list_of_lists)) 
for lst in list_of_lists: 
    s &= set(lst) 
0

>>> set.intersection(*map(set, list_of_lists)) 
set(['superman']) 

それとも、あなただけのPython < 2.7持っている場合:

>>> reduce(lambda s1, s2: s1 & s2, map(set, list_of_lists)) 
set(['superman'])