Sobes.tech
Middle

""" Copiar """ a = [[1, 2], ["str", "str"]] b = a.copy() b[0].append(3) # print(a) # print(b) print(b[0] is a[0])

sobes.tech AI

Respuesta de la IA

En este código se utiliza el método .copy(), que crea una copia superficial de la lista a. Esto significa que se copia la lista externa, pero los objetos internos (listas internas) permanecen compartidos por ambas variables.

Ejemplo:

a = [[1, 2], ["str", "str"]]
b = a.copy()
b[0].append(3)

print(a)  # [[1, 2, 3], ['str', 'str']]
print(b)  # [[1, 2, 3], ['str', 'str']]
print(b[0] is a[0])  # True

Aquí se puede ver que modificar b[0] también afecta a a[0], ya que es el mismo objeto. Por eso, b[0] is a[0] devuelve True.

Si se necesita una copia profunda, en la que también se copien los objetos internos, se debe usar copy.deepcopy() del módulo copy.