リストに別のリストのすべての項目が含まれているかどうかを確認する 質問する

リストに別のリストのすべての項目が含まれているかどうかを確認する 質問する

タプルのリストに別のリストに含まれるすべてのタプルが含まれているかどうかを確認する最も簡単/最速の方法は何ですか。例:

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

setsを使うことができます

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

おすすめ記事