Seite 1 von 1
Wort in eine Liste einfügen funktioniert nicht mit print
Verfasst: Dienstag 18. Mai 2010, 08:05
von sebastian3984
Hi Leute,
Ich habe mal wieder ein Problem

Ich habe versucht in eine Liste ein Wort einzufügen, Python gibt mir aber None zurück warum ?
Der Python Code:
Code: Alles auswählen
liste = [1, 34, 24234, 234, 233]
print liste.insert(2, "hallo")
Ich habe gedacht das dan nach der zahl 34 das Wort "hallo" in der Liste ist, da der Index 2 heist.
Mit:
Code: Alles auswählen
liste = [1, 34, 24234, 234, 233]
liste.insert(2, "hallo")
print liste
funktioniert es, aber warum nicht mit print ? ( print liste.insert(2, "hallo") )
MFG Sebastian

Re: Wort in eine Liste einfügen funktioniert nicht mit print
Verfasst: Dienstag 18. Mai 2010, 08:13
von mkesper
print <Anweisung> zeigt den Wert an, den die Anweisung zurückliefert.
Da print nichts zurückgibt, wird hier "None" angezeigt.
EDIT: War natürlich Quark. "print" ist hier ja nicht die Anweisung.
Re: Wort in eine Liste einfügen funktioniert nicht mit print
Verfasst: Dienstag 18. Mai 2010, 08:15
von numerix
Das kannst du dir leicht selbst beantworten.
Lies dir in der Doku zur Standard-Lib einfach durch, was insert() macht. Dann kennst du die Antwort.
Re: Wort in eine Liste einfügen funktioniert nicht mit print
Verfasst: Dienstag 18. Mai 2010, 08:22
von sebastian3984
Das kannst du dir leicht selbst beantworten.
Lies dir in der Doku zur Standard-Lib einfach durch, was insert() macht. Dann kennst du die Antwort.
Wo ist die ?

Re: Wort in eine Liste einfügen funktioniert nicht mit print
Verfasst: Dienstag 18. Mai 2010, 08:26
von .robert
Re: Wort in eine Liste einfügen funktioniert nicht mit print
Verfasst: Dienstag 18. Mai 2010, 08:32
von sebastian3984
Is this available in german ?
My English is a little bit bad

Re: Wort in eine Liste einfügen funktioniert nicht mit print
Verfasst: Dienstag 18. Mai 2010, 09:25
von Darii
Auf deutsch: Alle in-place Operationen (die die das Objekt selbst verändern) der Standardbibliothek geben None statt self zurück. Muss man nicht mögen, aber ist so.
Re: Wort in eine Liste einfügen funktioniert nicht mit print
Verfasst: Dienstag 18. Mai 2010, 09:39
von gkuhl
Nein. Nutze es einfach als Gelegenheit dein Englisch zu verbessern.
Schöne Beispiel sind "sorted(list)" und "list.sort()" um sich den Unterschied klar zu machen:
Code: Alles auswählen
In [12]: lst = [2,1,3]
In [13]: sorted(lst) # The function "sorted" returns a new list.
Out[13]: [1, 2, 3]
In [14]: lst # The object was not modified.
Out[14]: [2, 1, 3]
In [15]: lst.sort() # The method ".sort" returns "None", but "lst" will be modified.
In [16]: lst
Out[16]: [1, 2, 3]
Grüße
Gerrit