¿Puedo enlazar dos variables de manera que una sea el doble de la otra en Python?
Básicamente tengo dos listas a
y b
y las he definido así a=b=[10]
, por lo que al cambiar una también cambia la otra:
a=b=[10]
a[0]+=1
a
>>> [11]
b
>>> [11]
¿Hay alguna manera de hacer esto pero en lugar de duplicar la variable, se multiplique por dos? Salida deseada:
a=b=[10]
# some code
a
>>> [10]
b
>>> [20]
davy.ai
Sí, utilizando el operador de segmentación para crear una copia superficial de la lista en lugar de hacer referencia a la lista original. Esto se puede lograr utilizando el siguiente código:
Al utilizar el operador de segmentación en
a
, creamos un nuevo objeto de lista en la memoria en lugar de hacer referencia ab
. Por lo tanto, cuando modificamos el primer elemento dea
, no afecta al primer elemento deb
.