このプログラムをより効率的にするにはどうすればよいですか?Pythonでネストされたforループを効率的にする
tempPossiblePairs = defaultdict(lambda: set([]))
for w1 in words:
for w2 in words:
if(w1 != w2):
tempPossiblePairs[w1].add(w2)
for w1 in words:
for w2 in words:
if(w1 != w2 and (w2 in tempPossiblePairs[w1])):
res.append((self.getPMI(w1, w2), self.pair(w1, w2)[0], self.pair(w1, w2)[1]))
私は(リスト与えられた言葉 ')の値としてキーと組み合わせることができ、キーと単語として単語を取る辞書を生成するプログラムを書きました。次に、単語リストをもう一度見て、それらが等しくないかどうかを確認し、ペア可能(tempPossiblePairs dictを調べることによって)にすることができます。
私はこのコードが混乱し、非効率であることを知っていますが、これをより効率的にするためのヒントを聞きたいと思います。
'tempPossiblePairs'の必要性が表示されません –
次に、w2がキーw1の値であるかどうかを効率的にチェックする方法はありますか? – Dawn17