3

Python リストのサブセットを実行することは可能ですか?

次の問題があります.2つのリストがlist1あり、非常に長く、list2非常に短いです。list2ここで、 のどの要素が にも含まれているかを確認したいと思いlist1ます。私の現在のバージョンは次のようになります。

for item in list1:
    if item in list2:
        # do something

これには非常に長い時間がかかります。サブセットを取得してからリストを実行することは可能ですか?

これを何度も行う必要があります。

4

3 に答える 3

1

setsここで使用できます。リストO(1)と比較してルックアップを提供O(N)します。ただし、セットは、アイテムがハッシュ可能 (不変) でなければならないことを想定しています。

s = set(list1)
for item in lis2:
    if item in s:
       #do something
于 2013-05-10T07:57:28.420 に答える