2016-04-09 5 views
0

Ich versuche, eine Eingabe aus einer Zeile zu erhalten, die aus einer Zeichenfolge und n ganzen Zahlen besteht, die durch Leerzeichen getrennt sind.Was ist falsch an meinem Code? Liste in Python 3.x kann nicht erweitert werden

Beispiel Eingabe:

"abcd" 1 3 4 5 

Erwartete Ausgabe:

abcd 
1 
3 
4 
5 

Mein Ansatz ist erste Zeichenfolge als eine Liste zu betrachten und es mit der Liste von ganzen Zahlen erweitern konstruiert Karte mit

li = input().split() 
lin = [li[0]].extend(list(map(int,li[1:]))) 
for i in len(lin) : 
    print (lin[i]) 
+0

Fragen Debug-Hilfe zu suchen ("* * Warum funktioniert dieser Code nicht? ** ") muss das gewünschte Verhalten, ein spezifisches Problem oder einen Fehler und die Abkürzungen enthalten t Code notwendig, um es ** in der Frage selbst zu reproduzieren **. Fragen ohne ** eine klare Problemstellung ** sind für andere Leser nicht nützlich. Siehe: [Erstellen eines minimalen, vollständigen und überprüfbaren Beispiels] (http://stackoverflow.com/help/mcve). – Biffen

Antwort

2

Das geht einfach nicht:

lin = [li[0]].extend(list(map(int,li[1:]))) 

Als .extend gibt None zurück.

Statt

lin = [li[0]] 
lin.extend(list(map(int,li[1:]))) 

verwenden Und als .extend ein iterable nimmt, kann die zusätzliche Anrufliste entfernt werden:

lin = [li[0]] 
lin.extend(map(int,li[1:])) 

Oder:

lin = [li[0]] + list(map(int,li[1:]))) 
Verwandte Themen