2つのネストされたリストに15,000個のリストがあり、リストごとに5個の変数があります。私は、各サブリストから2つの変数を調べ、一致するものを探します。両方の変数に一致するものがある場合は何もしないでください。一致しない場合は、サブリストlagerProduct
の変数を0に設定し、lagerProduct
にself.mainlist
を追加する必要があります。最終出力はself.mainlist
で、self.hovedfil
+サブリストはすべてself.lagerfil
です。作業コードは以下のとおりですが、それほど高速ではありません。どうすればスピードアップできますか?2つの長いネストされたリストの変数をチェックするときにforループを高速化します。
match = False
self.lagerFil = self.mainlist #15000 sublists with 5 values in each sublist
self.hovedFil = [[]] #15000 sublists with 5 values in each sublist
for lagerProduct in self.lagerFil:
for produktHoved in self.hovedFil:
if lagerProduct[0] == produktHoved[0] and lagerProduct[3] == produktHoved[3]:
match = True
if match == False:
lagerProduct [4] = 0
self.mainlist.append(lagerProduct)
else:
match = False
あなたのコードの最終出力はどのようなものです。メインリスト '? – Nurjan
@Nurzhan yea、self.mainlistにする必要があります – Louvre
'self.lagerfil'に' self.mainlist'を割り当ててから、 'self.lagerfil'の要素を' mainlist'に追加するのはちょっと混乱します。また、コードに誤字があります。 – Nurjan