어떻게이 프로그램을보다 효율적으로 만들 수 있습니까? 중첩 된 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