Was ist der Unterschied zwischen den Listenmethoden append und extend
-
Python Liste
append
Methode -
Python Liste
extend
Methode -
Schlussfolgerung des Unterschieds zwischen
append
undextend
in der Python-Liste
Dieser Artikel stellt den Unterschied zwischen den Methoden der Liste append
und extend
in Python vor.
Python Liste append
Methode
append
fügt das Objekt an das Ende der Liste an. Das Objekt kann ein beliebiger Datentyp in Python sein, wie list, dictionary oder class object.
>>> A = [1, 2]
>>> A.append(3)
>>> A
[1, 2, 3]
>>> A.append([4, 5])
>>> A
[1, 2, 3, [4, 5]]
Die Länge der Liste wird nach dem append
um eins erhöht.
Python Liste extend
Methode
extend
erweitert die Liste durch Anhängen von Elementen aus dem iterierbaren Argument. Es iteriert über das Argument und fügt dann jedes Element der Liste hinzu. Das angegebene Argument muss vom iterierbaren Typ sein, wie list, sonst wird es TypeError
auslösen.
>>> A = [1, 2]
>>> A.extend(3)
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
A.extend(3)
TypeError: 'int' object is not iterable
Wenn Sie 3
am Ende der Liste hinzufügen wollen, sollten Sie zuerst die 3
in eine neue Liste einfügen.
>>> A = [1, 2]
>>> A.extend([3])
>>> A
[1, 2, 3]
Die extend
Methode iteriert die Elemente im iterierbaren Objekt und fügt sie dann eins zu eins an das Ende der Liste an.
>>> A = [1, 2]
>>> A.extend([3, 4])
>>> A
[1, 2, 3, 4]
Python extend
String-Typ
Sei dir bewusst, dass wenn das angegebene Objekt ein string
Typ ist, wird es jedes Zeichen in der Zeichenkette an die Liste anhängen.
>>> A = ["a", "b"]
>>> A.extend("cde")
>>> A
['a', 'b', 'c', 'd', 'e']
Schlussfolgerung des Unterschieds zwischen append
und extend
in der Python-Liste
append
fügt das gegebene Objekt an das Ende der Liste an, daher erhöht sich die Länge der Liste nur um 1.
Auf der anderen Seite fügt extend
alle Elemente in dem gegebenen Objekt am Ende der Liste hinzu, daher erhöht sich die Länge der Liste um die Länge des gegebenen Objekts.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook