2017-09-14 3 views
0

Im Versuch, den nächsten Code:Warum kann ich nicht, und wie kann ich eine Zeichenfolge zu geschnittenen Liste mit Python verketten?

lst = [1,2,3, "hi", 5] 
string = "bye" 
print lst[3:4].append(string) 

durch die nächste Ausgabe erhalten der Hoffnung:

Aber was ich erhalte, ist die

["hi", "bye"] 
:

None 

Ausgang

Warum kann Ich mache so etwas? Muss ich die Liste in einem Objekt speichern, bevor ich ein Objekt damit verknüpfe? Warum ist es nicht wie in CPP, dass das Objekt auf dem Platz zurückgegeben?

+5

'append' immer wieder' None'. Es ändert die Liste an Ort und Stelle. Versuchen Sie es mit 'lst [3: 4] + [string]'. –

Antwort

2

lst[3:4] gibt Ihnen ["hi"] und .append(string) wird die Zeichenfolge in dieser Liste angehängt, aber der Rückgabewert von append ist None. Sie können eine der folgenden Aktionen ausführen:

lst = [1,2,3, "hi", 5] 
string = "bye" 
lst2 = lst[3:4] 
lst2.append(string) 
print lst2 

Oder:

lst = [1,2,3, "hi", 5] 
string = "bye" 
print lst[3:4] + [string] 
Verwandte Themen