RA:
como posso fazer isso da maneira correta?
a = ['1','2']
b = []
for value in a:
b.append(value)
Eu preciso fazer isso porque eu quero mudar valores em um, mas eu quero mantê-los em b. Quando eu faço b = a
parece apenas definir ponteiros para os valores em um.
Verde Manto Guy:
referência duplicado (apontando para a mesma lista):
b = a
cópia eletrônica (todos os mesmos elementos, mas uma lista diferente):
b = a[:] # special version of the slice notation that produces a softcopy
b = list(a) # the list() constructor takes an iterable. It can create a new list from an existing list
b = a.copy() # the built-in collections classes have this method that produces a soft copy
Para obter uma cópia profunda (cópias de todos os elementos, em vez de apenas os mesmos elementos) que você gostaria de invocar o built-in copy
módulo .:
from copy import deepcopy
b = deepcopy(a)