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.