Ich möchte meine Python-Funktion, um einen Satz (Eingabe) zu teilen und speichern jedes Wort in einer Liste
El str().split()
Methode nimmt eine Zeichenkette und zerlegt sie in eine Liste:
>>> the_string = "this is a sentence"
>>> words = the_string.split(" ")
>>> print(words)
['this', 'is', 'a', 'sentence']
>>> type(words)
<type 'list'> # or <class 'list'> in Python 3.0
Das Problem, das Sie haben, liegt an einem Tippfehler: Sie schrieben print(words)
anstelle von print(word)
:
Umbenennung der word
Variable zu current_word
hatten Sie das hier:
def split_line(text):
words = text.split()
for current_word in words:
print(words)
wenn Sie es hätten tun sollen:
def split_line(text):
words = text.split()
for current_word in words:
print(current_word)
Wenn Sie aus irgendeinem Grund eine Liste in der for-Schleife manuell erstellen möchten, würden Sie die Liste append()
Methode, z. B. weil Sie alle Wörter in Kleinbuchstaben schreiben wollen:
my_list = [] # make empty list
for current_word in words:
my_list.append(current_word.lower())
Oder, etwas eleganter, mit einer Liste-Verständnis :
my_list = [current_word.lower() for current_word in words]