Cuando ejecuto (estoy usando el shell interactivo) estas declaraciones me sale esto:¿Cuál es la diferencia entre LIST.append (1) y la LISTA DE LISTA = + [1] (Python)
L=[1,2,3]
K=L
L.append(4)
L
[1,2,3,4]
K
[1,2,3,4]
pero cuando lo haga exactamente lo mismo que la sustitución de L.append (4) con L = L + [4] me sale:
L
[1,2,3,4]
K
[1,2,3]
Es esto algún tipo de cosas referencia? ¿Por qué pasó esto?
Otra cosa graciosa que noté es que L + = [4] actúa como .append, lo cual es extraño ya que pensé que actuaría como L = L + [4].
La aclaración de todo esto sería muy apreciada.
Gracias
'' + = es raro en Python. por ejemplo 'a = (1, 2); a + = (2,) 'produce' (1, 2, 3) '! Esto es exactamente lo contrario de la situación de lista donde ite modifica la lista en su lugar. No hay forma de modificar una tupla en su lugar.esta es la razón por la cual mucha gente prefiere usar siempre la forma 'a = a + b'. – aaronasterling
no, no, después de a = (1, 2); a + = (2), a es (1,2,2) ¿qué tiene de raro eso? – Kugel
Creo que quiso decir 'a + = (3,)'. Y es extraño que te permita modificar una tupla (inmutable) en su lugar de esta manera. – efritz