¿Cuál es la diferencia entre los métodos de lista que añaden y amplían
-
Método
append
de la lista en Python -
Método de
extend
la lista de Python -
Conclusión de la diferencia entre
append
yextend
en la lista Python
Este artículo introduce la diferencia entre los métodos de lista append
y extend
en Python.
Método append
de la lista en Python
append
añade el objeto al final de la lista. El objeto puede ser cualquier tipo de dato en Python, como un objeto de lista, de diccionario o de clase.
>>> A = [1, 2]
>>> A.append(3)
>>> A
[1, 2, 3]
>>> A.append([4, 5])
>>> A
[1, 2, 3, [4, 5]]
La longitud de la lista se incrementará en uno después de que el append
esté hecho.
Método de extend
la lista de Python
extend
extiende la lista añadiendo elementos del argumento iterable. Itera sobre el argumento y luego añade cada elemento a la lista. El argumento dado debe ser de tipo iterable, como list, de lo contrario levantará TypeError
.
>>> 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
Si quiere añadir 3
al final de la lista, primero debe poner el 3
en una nueva lista.
>>> A = [1, 2]
>>> A.extend([3])
>>> A
[1, 2, 3]
El método extend
itera los elementos en el objeto iterable y luego los añade uno a uno al final de la lista.
>>> A = [1, 2]
>>> A.extend([3, 4])
>>> A
[1, 2, 3, 4]
Tipo de cadena extend
de Python
Tenga en cuenta que cuando el objeto dado es de tipo string
, añadirá cada carácter de la cadena a la lista.
>>> A = ["a", "b"]
>>> A.extend("cde")
>>> A
['a', 'b', 'c', 'd', 'e']
Conclusión de la diferencia entre append
y extend
en la lista Python
append
añade el objeto dado al final de la lista, por lo tanto la longitud de la lista se incrementa sólo en 1.
Por otro lado, extend
añade todos los elementos del objeto dado al final de la lista, por lo que la longitud de la lista aumenta en la longitud del objeto dado.
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