Copiar una lista en Python

En Python, puedes copiar una lista de varias formas. Es importante entender que copiar una lista no implica simplemente asignarla a una nueva variable utilizando el operador de asignación (=), ya que esto solo crea una referencia a la lista original, en lugar de una copia independiente. A continuación, te presento algunas formas de copiar una lista en Python:

Copiar listas con el método copy() en Python

Puedes usar el método copy() para crear una copia superficial (shallow copy) de la lista original. Una copia superficial crea una nueva lista, pero los elementos internos de la lista (como otras listas) siguen siendo referencias a los mismos objetos que los de la lista original.

# Lista original
lista_original = [1, 2, 3, 4, 5]

# Crear una copia superficial
copia_superficial = lista_original.copy()

# Modificar la copia no afecta a la lista original
copia_superficial[0] = 10

# Resultado: [1, 2, 3, 4, 5]
print(lista_original)

# Resultado: [10, 2, 3, 4, 5]
print(copia_superficial)

Copiar una lista con la función list() en Pyhton

Puedes usar la función list() para crear una copia superficial de la lista original.

# Lista original
lista_original = [1, 2, 3, 4, 5]

# Crear una copia superficial
copia_superficial = list(lista_original)

# Modificar la copia no afecta a la lista original
copia_superficial[0] = 10

# Resultado: [1, 2, 3, 4, 5]
print(lista_original)

# Resultado: [10, 2, 3, 4, 5]
print(copia_superficial)

Copiar listas con la técnica slicing en Python

Puedes utilizar el operador de slicing ([:]) para crear una copia superficial de la lista original.

# Lista original
lista_original = [1, 2, 3, 4, 5]

# Crear una copia superficial
copia_superficial = lista_original[:]

# Modificar la copia no afecta a la lista original
copia_superficial[0] = 10

# Resultado: [1, 2, 3, 4, 5]
print(lista_original)

# Resultado: [10, 2, 3, 4, 5]
print(copia_superficial)

Usando el módulo copy en Pyhton

Puedes utilizar el módulo copy y la función copy() para crear una copia superficial de la lista original.

# Importar el módulo copy
import copy

# Lista original
lista_original = [1, 2, 3, 4, 5]

# Crear una copia superficial
copia_superficial = copy.copy(lista_original)

# Modificar la copia no afecta a la lista original
copia_superficial[0] = 10

# Resultado: [1, 2, 3, 4, 5]
print(lista_original)

# Resultado: [10, 2, 3, 4, 5]
print(copia_superficial)