HOWTO · Python
¿Cuál es la diferencia entre los métodos de lista que añaden y amplían
Este tutorial introduce la diferencia entre los métodos de lista que se añaden y se extienden en Python
En esta página
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.