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