タプルのリストに別のリストに含まれるすべてのタプルが含まれているかどうかを確認する最も簡単/最速の方法は何ですか。例:
t1 = [ (1,2), (3,4), (5,6), (7,8), (9,10), (11,12) ]
t2 = [ (3,4), (11,12) ]
t1 には t2 のすべてのタプルが含まれているため、これは正しいケースになります。次のようなものを試しました。
[i for e in t2 for i in t1 if e in i]
sorted(t1) == sorted(t2)
しかし、これは常に true を返すようです。もっと良い方法はありますか?
ベストアンサー1
set
sを使うことができます
t1 = [ (1,2), (3,4), (5,6), (7,8), (9,10), (11,12) ]
t2 = [ (3,4), (11,12) ]
set(t2).issubset(t1)
# returns true
# or equivalent use '<=' so
set(t2) <= set(t1)
# returns true