Ich schreibe ein Programm zum Lesen von Text aus einer Datei in eine Liste, teilen Sie es in eine Liste von Wörtern mit der Split-Funktion. Und für jedes Wort muss ich es überprüfen, wenn es bereits in der Liste ist, wenn nicht, muss ich es mit der Append-Funktion zur Liste hinzufügen.Python Anhängen von Wörtern an eine Liste aus Datei
Die gewünschte Ausgabe ist:
['Arise', 'But', 'It', 'Juliet', 'Who', 'already', 'and', 'breaks', 'east', 'envious', 'fair', 'grief', 'is', 'kill', 'light', 'moon', 'pale', 'sick', 'soft', 'sun', 'the', 'through', 'what', 'window', 'with', 'yonder']
Meine Ausgabe ist:
[['But', 'soft', 'what', 'light', 'through', 'yonder', 'window', 'breaks', 'It', 'is', 'the', 'east', 'and', 'Juliet', 'is', 'the', 'sun', 'Arise', 'fair', 'sun', 'and', 'kill', 'the', 'envious', 'moon', 'Who', 'is', 'already', 'sick', 'and', 'pale', 'with', 'grief']]
Ich habe versucht, es zu sortieren und die doppelten eckigen Klammern "[[&]]" in dem Anfang entfernen und enden, aber ich kann das nicht tun. Und aus irgendeinem Grund scheint die Funktion sort() nicht zu funktionieren.
Bitte lassen Sie mich wissen, wo ich einen Fehler mache.
word_list = []
word_list = [open('romeo.txt').read().split()]
for item in word_list:
if item in word_list:
continue
else:
word_list.append(item)
word_list.sort()
print word_list
sagen Als terrya sagt, Sie mit zwei separaten Listen arbeiten müssen, aber Ihr Code verwendet 'word_list' für die Eingabelisten und die Ausgabeliste und Sie erstellen eine Liste innerhalb einer Liste mit' [open ('romeo.txt'). read(). split()] '. Der effizienteste Weg, dies zu tun, ist ein 'set' zu verwenden, aber ich denke, du machst eine Hausaufgabe und du musst es nur mit Listen machen. Sie sollten auch lernen, '' 'zum Öffnen von Dateien zu verwenden. –
die Anweisung "open ('rememo.txt) .read(). Split()" gibt eine Liste bereits zurück, also entferne die [] von der "[' open (' remeuro.txt) .read(). Split()] " – pitaside