Añadir elementos a una lista (array) en Python: append(), extend(), insert()

Negocio

Para añadir un elemento a una lista (array) de tipo lista en Python, o para combinar otra lista, utilice los métodos de lista append(), extend() e insert(). También puedes utilizar el operador + o slice para especificar una posición y asignarla.

La siguiente información se proporciona aquí.

  • Añadir elementos al final:append()
  • Combinar otra lista o tupla al final (concatenación): extend(),+operador
  • Añade (inserta) un elemento en la posición especificada.:insert()
  • Añadir (insertar) otra lista o tupla en la posición especificada:rebanada

Añadir elementos al final: append()

Utilizando el método append() de la lista, puede añadir elementos al final (último). Si quieres añadirlo a una posición distinta del final, como la parte superior, utiliza insert() como se describe a continuación.

l = list(range(3))
print(l)
# [0, 1, 2]

l.append(100)
print(l)
# [0, 1, 2, 100]

l.append('new')
print(l)
# [0, 1, 2, 100, 'new']

Las listas también se añaden como un solo elemento. No se combinan.

l.append([3, 4, 5])
print(l)
# [0, 1, 2, 100, 'new', [3, 4, 5]]

Combinar otra lista o tupla al final (concatenación): extend(), +operador

Con el método de lista extend(), puede combinar otra lista o tupla al final (el final). Todos los elementos se añadirán al final de la lista original.

l = list(range(3))
print(l)
# [0, 1, 2]

l.extend([100, 101, 102])
print(l)
# [0, 1, 2, 100, 101, 102]

l.extend((-1, -2, -3))
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3]

Tenga en cuenta que cada carácter (elemento) se añade a la cadena de un carácter a la vez.

l.extend('new')
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w']

También es posible concatenar utilizando el operador + en lugar del método extend().

+, se devuelve una nueva lista.+=Esto también le permitirá añadirlo a una lista existente.

l2 = l + [5, 6, 7]
print(l2)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

l += [5, 6, 7]
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

Añade (inserta) un elemento en la posición especificada.: insert()

El método de lista insert() puede añadir (insertar) un elemento en una posición determinada.

El primer argumento especifica la posición, y el segundo argumento especifica el elemento a insertar. La primera posición (inicial) es 0; para valores negativos, -1 es la última posición (final).

l = list(range(3))
print(l)
# [0, 1, 2]

l.insert(0, 100)
print(l)
# [100, 0, 1, 2]

l.insert(-1, 200)
print(l)
# [100, 0, 1, 200, 2]

Al igual que con append(), la lista se añade como un solo elemento. No se fusionará.

l.insert(0, [-1, -2, -3])
print(l)
# [[-1, -2, -3], 100, 0, 1, 200, 2]

Tenga en cuenta que insert() no es una operación eficiente porque requiere los siguientes costes. Consulte la siguiente página de la wiki oficial para conocer la complejidad computacional de las distintas operaciones de la lista.
O(n)

O(1)
El tipo deque se proporciona en el módulo de colecciones de la biblioteca estándar como un tipo para agregar elementos a la parte superior a este costo. Por ejemplo, si quieres tratar los datos como una cola (FIFO), es más eficiente usar deque.

Añadir (insertar) otra lista o tupla en la posición especificada: rebanada

Si se especifica un rango con un slice y se le asigna otra lista o tupla, se añadirán (insertarán) todos los elementos.

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:1] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 1, 2]

También puede reemplazar el elemento original. Se sustituirán todos los elementos del rango especificado.

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:2] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 2]