2016-12-14 6 views
-5

Ich habe einen einfachen Code-Block bekommt, die gemeint ist, eine Liste von Strings iterieren und spaltet jedes Element in der Liste in eine neue Liste, rufen Sie dann eine andere Funktion für jedes Element:Warum scheint .split() in diesem Kontext nicht zu funktionieren? (Python)

list_input = take_input() 
for item in list_input: 
    item.split() 
    system_output(item) 

Das Problem ist, dass "item.split()" scheint nichts zu tun. Mit einer print (item) -Anweisung in der vorletzten Zeile wird nur der Inhalt des Elements gedruckt, nicht der Inhalt in eine neue Liste. Ich habe das Gefühl, dass mir etwas offensichtlich fehlt, kann mir jemand helfen? Vielen Dank!

EDIT: So wurde ich informiert, dass Strings in Python unveränderlich sind, und in Anbetracht dessen die 'item.split()' Zeile durch 'item = item.split()' ersetzt. Ich laufe immer noch auf den gleichen Fehler, auch wenn das Element als neue Variable neu definiert wird.

+4

Der erste Satz in der Dokumentation für Split: "** Zurück ** eine Liste der Wörter [...]" – Mat

Antwort

0

split() teilt die Zeichenfolge inplace nicht auf, es gibt nur eine aufgeteilte Zeichenfolge zurück, die Sie in eine andere Variable einfügen müssen.

+0

Ich sehe eigentlich nichts falsch mit dieser Antwort, warum der Downvote ohne Erklärung? – Maroun

+0

@jadsq Danke, ich habe es mit item = item.split() versucht, aber selbst als neue Variable trennt es immer noch nicht die Wörter in verschiedene Elemente. – IHarris

Verwandte Themen