Wie nach split ein string-input und Anhängen an eine Liste? Python
Ich will, um den Benutzer zu Fragen, was Lebensmittel, die Sie gegessen haben, teilen Sie Sie dann, dass die Eingabe in eine Liste. Gerade jetzt, der code spuckt nur leere Klammern.
Auch, dies ist mein Erster Beitrag hier, also entschuldige ich mich im Voraus für jede Formatierung Fehler.
list_of_food = []
def split_food(input):
#split the input
words = input.split()
for i in words:
list_of_food = list_of_food.append(i)
print list_of_food
- Willkommen ALSO. Beim nächsten mal versuchen, zu zeigen, was Sie versucht haben.
- Sieht aus wie der OP versucht, dass Sie dort Ihren code
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie dies ändern, nur um
Zwei verschiedene Ursachen haben. Zuerst
list.append()
ist ein in-place-operator, so dass Sie nicht brauchen, um über das Neuzuweisen von Ihrer Liste, wenn Sie es verwenden. Zweitens, wenn Sie versuchen, verwenden Sie eine Globale variable innerhalb einer Funktion sind, müssen Sie entweder erklären, wieglobal
oder nie zuordnen. Ansonsten, das einzige, was Sie tun werden, ist die änderung von einem lokalen. Dies ist, was Sie wahrscheinlich versuchen zu tun, mit Ihrer Funktion.Jedoch, da sollten Sie nicht verwenden globals, es sei denn absolut notwendig (es ist nicht eine große Praxis), dies ist die beste Methode:
list_of_food.extend(words)
.split()
gibt bereits eine Liste, so dass Sie iterieren über eine Liste zu kopieren, element nach element zu einer anderen ListeVerwendung der "extend" - Schlüsselwort. Diese Aggregate zwei Listen zusammen.