absolute anfängerfrage, wahrscheinlich, aber ich find's nicht raus: Wie füge ich einen Wert an Position 0 in eine Liste ein?
also zB:
Code: Alles auswählen
a = [2,4,6,8]
a[:0] = 17
(Ergebniss soll na klar [17, 2, 4, 6, 8] sein...)
Code: Alles auswählen
a = [2,4,6,8]
a[:0] = 17
Code: Alles auswählen
>>> a = [2, 4, 6, 8]
>>> a.insert(0, 17)
>>> a
[17, 2, 4, 6, 8]
Hallo Jo,jo_hb hat geschrieben:Hallo,
absolute anfängerfrage, wahrscheinlich, aber ich find's nicht raus: Wie füge ich einen Wert an Position 0 in eine Liste ein?
... geht ja leider nicht, weil man nur ein iterable einfügen kann?! Aber es gibt doch sicher ne ganz simple methode dafür, oder nicht?
(Ergebniss soll na klar [17, 2, 4, 6, 8] sein...)
Code: Alles auswählen
>>> a = [2, 4, 6, 8]
>>> a
[2, 4, 6, 8]
>>> a[:0] = [17]
>>> a
[17, 2, 4, 6, 8]
Mit dem vierten insert hättest du lieber reverse() gemachtjens hat geschrieben:Da ist die Frage was schneller ist, die reverse-append-reverse Geschichte oder mehrere inserts...
Doch, schon ein Iterable:Michael Schneider hat geschrieben: kein Iterable, ein Listenslice erwartet wieder eine Liste.
Code: Alles auswählen
a = []
a[0:0] = (1,2,3)
a[0:0] = xrange(5)
etc.
Nein, jedenfalls nicht pauschal (nicht in 2.2 ):birkenfeld hat geschrieben:Doch, schon ein Iterable:Michael Schneider hat geschrieben: kein Iterable, ein Listenslice erwartet wieder eine Liste.
Code: Alles auswählen
a = [] a[0:0] = (1,2,3) a[0:0] = xrange(5) etc.
Ab welcher Version werden Iterables unterstützt? Ich vermute mal, 2.3.1 - wenn Johannes schon die Bezeichnung "Iterable" in der Exception erhält.>>> a = []
>>> a[0:0] = (1,2,3)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: must assign list (not "tuple") to slice
*seufz*Michael Schneider hat geschrieben:Nein, jedenfalls nicht pauschal (nicht in 2.2 ):birkenfeld hat geschrieben:Doch, schon ein Iterable:Michael Schneider hat geschrieben: kein Iterable, ein Listenslice erwartet wieder eine Liste.
Code: Alles auswählen
a = [] a[0:0] = (1,2,3) a[0:0] = xrange(5) etc.
Ok, ich hätte schreiben sollen "erwartete eine Liste", wenn ich weiß, dass ich eine ältere Version verwende. Aber abgesehen davon ist meine Kernaussage richtig.birkenfeld hat geschrieben:*seufz*Michael Schneider hat geschrieben:Nein, jedenfalls nicht pauschal (nicht in 2.2 ):birkenfeld hat geschrieben:Doch, schon ein Iterable:Michael Schneider hat geschrieben: kein Iterable, ein Listenslice erwartet wieder eine Liste.
Code: Alles auswählen
a = [] a[0:0] = (1,2,3) a[0:0] = xrange(5) etc.
Vor du behauptest, irgendetwas gehe nicht,
ist es deine Verantwortung zu prüfen, ob es in neueren Versionen etwa doch geht.
Meiner Meinung nach ist es eben für einen Anfänger und dessen Freude am Programmieren schlechter, wenn er gesagt bekommt, dies und das funktioniere nicht, obwohl es geht.Michael Schneider hat geschrieben: Ich frage mich, warum ich allein in die Verantwortung genommen werde zu prüfen, ob und wann es später mal funktioniert, solange jeder sagen kann, man solle hier und da enumerate, sorted(key...) etc. verwenden, ohne anzugeben, AB wann die Aussage stimmt oder man die Lösung verwenden kann.
Ne, das geht ja garnicht, wenn ich bei irgendwas neu einsteige gehe ich immer auf "Nummer Sicher".Sr4l hat geschrieben:Wenn ich mit etwas anfange lade ich meist sogar die Beta
Niemand redet von einer Beta.Michael Schneider hat geschrieben:An die anderen:
Meine Frage war, ab wann man auf die Version hinweisen sollte. Sowohl nach oben als auch nach unten. Wer legt diesen Grenzwert (Grenzversion) fest? Sollte man sich immer an der neuesten Beta orientieren?