Ich habe eine Funktion gemacht, zählte ich, wie oft jedes Wort in einer Datei verwendet wird, wird das Wort Frequenz sagen. Im Moment kann die Funktion die Summe aller Wörter berechnen und mir die sieben häufigsten Wörter zeigen und wie oft sie benutzt werden. Jetzt möchte ich meine erste Datei vergleichen, wo ich die Worthäufigkeit mit einer anderen Datei analysiert habe, wo ich die gebräuchlichsten Wörter in der englischen Sprache verwende, und ich möchte diese Wörter mit den Wörtern vergleichen, die ich in meiner ersten Datei habe, um zu sehen, ob jedes der Wörter stimmt überein.dict zu listen, und vergleichen Sie Listen Python
Was ich habe, ist, Listen der zwei Dateien zu machen und sie dann miteinander zu vergleichen. Aber der Code, den ich dafür geschrieben habe, gibt mir keine Ausgabe, keine Ahnung, wie ich das lösen kann?
def CountWords():
filename = input('What is the name of the textfile you want to open?: ')
if filename == "alice" or "alice-ch1.txt" or " ":
file = open("alice-ch1.txt","r")
print('You want to open alice-ch1.txt')
wordcount = {}
for word in file.read().split():
if word not in wordcount:
wordcount[word] = 1
else:
wordcount[word] += 1
wordcount = {k.lower(): v for k, v in wordcount.items() }
print (wordcount)
sum = 0
for val in wordcount.values():
sum += val
print ('The total amount of words in Alice adventures in wonderland: ' + str(sum))
sortList = sorted(wordcount.values(), reverse = True)
most_freq_7 = sortList[0:7]
#print (most_freq_7)
print ('Totoro says: The 7 most common words in Alice Adventures in Wonderland:')
print(list(wordcount.keys())[list(wordcount.values()).index(most_freq_7[0])] + " " + str(most_freq_7[0]))
print(list(wordcount.keys())[list(wordcount.values()).index(most_freq_7[1])] + " " + str(most_freq_7[1]))
print(list(wordcount.keys())[list(wordcount.values()).index(most_freq_7[2])] + " " + str(most_freq_7[2]))
print(list(wordcount.keys())[list(wordcount.values()).index(most_freq_7[3])] + " " + str(most_freq_7[3]))
print(list(wordcount.keys())[list(wordcount.values()).index(most_freq_7[4])] + " " + str(most_freq_7[4]))
print(list(wordcount.keys())[list(wordcount.values()).index(most_freq_7[5])] + " " + str(most_freq_7[5]))
print(list(wordcount.keys())[list(wordcount.values()).index(most_freq_7[6])] + " " + str(most_freq_7[6]))
file_common = open("common-words.txt", "r")
commonwords = []
contents = file_common.readlines()
for i in range(len(contents)):
commonwords.append(contents[i].strip('\n'))
print(commonwords)
#From here's the code were I need to find out how to compare the lists:
alice_keys = wordcount.keys()
result = set(filter(set(alice_keys).__contains__, commonwords))
newlist = list()
for elm in alice_keys:
if elm not in result:
newlist.append(elm)
print('Here are the similar words: ' + str(newlist)) #Why doesn't show?
else:
print ('I am sorry, that filename does not exist. Please try again.')
Danke @ bravosierra99! – Allizon
es kommt als Zeichen heraus obwohl "dein Wort e ist in den allgemeinsten Wörtern ...." und nicht als Wörter ... – Allizon
wie wird deine allgemeine Wortakte aufgebaut? Ich habe es mit .split(), was bedeutet, dass die Wörter mit Leerzeichen getrennt werden müssen. Sie müssen diesen Code für die Einrichtung Ihrer allgemeinen Wortdatei anpassen. – bravosierra99