Ich habe zwei Listen von Wörtern zu vergleichen. Die erste Liste ist 2 Millionen Wörter, die zweite Liste ist 150.000 Wörter. Was ich tun muss, ist, binäre Suche anzuwenden, um zu sehen, ob Wörter der ersten Liste in der Sekunde erscheinen. Ich versuchte Liner Suche:Binäre Suche von Wörtern in Python-Liste
for word in words_list:
if word in dict_list:
print(word, 1)
else:
print(word, 0)
Es funktioniert gut, aber es ist sehr langsam. Dann habe ich versucht binäre Suche, aber es funktionierte nicht richtig:
for word in wordlist:
lb = 0
ub = len(dict_list)
mid_index = (lb + ub) // 2
item_at_mid = dict_list[mid_index]
if item_at_mid == word:
print(word)
if item_at_mid < word:
lb = mid_index + 1
else:
ub = mid_index
Am Ende muss ich zwei Liste erste Liste von Wörtern, die im Wörterbuch sind und zweitens, dass es nicht.
Linux-Befehl wird das für Sie tun 'cmp file1 file2' – Hackaholic
Drucken Sie tatsächlich die Werte, oder ist das für die Demonstration? Das Drucken ist sehr langsam, verglichen mit dem Einfügen der Elemente in zwei neue Listen. – Reti43
es ist ein demostrationa – Yan