Wort in eine Liste einfügen funktioniert nicht mit print

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
sebastian3984
User
Beiträge: 21
Registriert: Samstag 15. Mai 2010, 17:55

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 :)
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

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.
Zuletzt geändert von mkesper am Dienstag 18. Mai 2010, 12:29, insgesamt 1-mal geändert.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

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.
sebastian3984
User
Beiträge: 21
Registriert: Samstag 15. Mai 2010, 17:55

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 ? ;)
.robert
User
Beiträge: 274
Registriert: Mittwoch 25. April 2007, 17:59

sebastian3984
User
Beiträge: 21
Registriert: Samstag 15. Mai 2010, 17:55

Is this available in german ?
My English is a little bit bad ;)
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

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.
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

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
Antworten