を設定し、全てについてa[n][0]
とb[n][0]
を比較すると、nはa
とb
である。私はset_a.difference(set_b)
を行うことを可能にするこれらのサブリスト項目の2つのセットを作り、その逆も非常に速いです。より遅い(おそらく明らかにされる)a
で残りの項目に基づいて2つのリストを作成し、b
:もっと効率的な方法は、私は2つの大きなリストを持っている
def remaining(ls ,y, z):
return [i for i in ls if i[0] in y.difference(z)]
ls
が
a
又は
b
、及び
y
のいずれかである
とz
は上記に詳述二組です。キーとしてa[0]
とb[0]
値でdictsを使用して(例えば、これをスピードアップするためa
とb
の構造を見直し中の任意の点はありますか?
10kアイテムリストに対してテストすると、ほぼ即時になります。おそらくもっと徹底的にテストするべきですが、あなたの疑惑は正しいと思われます。 – urschrei