Verfasst: Dienstag 4. Juli 2006, 08:50
Wenn nichts angegeben wird, dann ist der letzte die Voreinstellung. Ansonsten hätte man auch, wie beim Index, eine -1 nehmen können.CrackPod hat geschrieben:Bei pop wusst ich nich, was ich übergeben soll, damit er den letzten Eintrag nimmt.BlackJack hat geschrieben:Die ersten vier Zeilen bekommt man auf zwei, wenn man die `pop()` Methode benutzt.
Code: Alles auswählen
In [16]: list.pop?
Type: method_descriptor
Base Class: <type 'method_descriptor'>
String Form: <method 'pop' of 'list' objects>
Namespace: Python builtin
Docstring:
L.pop([index]) -> item -- remove and return item at index (default last)
In [17]: [1, 2, 3].pop(-1)
Out[17]: 3
Die eckigen Klammern fehlen nicht, da es keine list comprehension sondern eine generator expression ist. Ist im Grunde das gleiche nur das eben keine Liste als Ergebnis rauskommt, sondern ein Iterator. So eine generator expression muss man in runde Klammern setzen, es sei denn sie ist sowie so schon in runde Klammern eingeschlossen, wie z.B. bei einem Funktionsaufruf.Fehlen da nich die []? Wenn nich warum? Is ja trotzdem ne Iteration, auch wenn sie in ner Funktion aufgerufen wird oder seh ich da was falsch?Code: Alles auswählen
return ''.join(chr(i // pre_multiplied - add_number) for i in data)
Code: Alles auswählen
In [18]: a = [x**2 for x in (0, 1, 2, 3)]
In [19]: a
Out[19]: [0, 1, 4, 9]
In [20]: b = (x**2 for x in (0, 1, 2, 3))
In [21]: b
Out[21]: <generator object at 0xb7bea0ac>
In [22]: b.next()
Out[22]: 0
In [23]: b.next()
Out[23]: 1
In [24]: b.next()
Out[24]: 4
In [25]: b.next()
Out[25]: 9
In [26]: b.next()
---------------------------------------------------------------------------
exceptions.StopIteration Traceback (most recent call last)
/home/marc/<ipython console>
StopIteration:
Nein, die beiden Methoden machen etwas unterschiedliches. `append()` hängt ein Objekt an eine Liste an und `extend()` nimmt ein iterierbares Objekt entgegen und erweitert die Liste um dessen Inhalt.extend is die neuere Version von append kann das sein?
Code: Alles auswählen
In [29]: a = [1, 2]
In [30]: a.append([3, 4])
In [31]: a
Out[31]: [1, 2, [3, 4]]
In [32]: b = [1, 2]
In [33]: b.extend([3, 4])
In [34]: b
Out[34]: [1, 2, 3, 4]