Python - que significa [:] en python?

 
Vista:

que significa [:] en python?

Publicado por pamela (1 intervención) el 13/02/2020 13:04:22
1
2
3
names1 = ['Amir', 'Barry', 'Chales', 'Dao']
names2 = names1
names3 = names1[:]

Cuando ejecuto, veo que tiene el mismo valor que la cadena de names1
no veo la diferencia.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 256
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

que significa [:] en python?

Publicado por Daniel (54 intervenciones) el 13/02/2020 14:14:36
Hola,

En este caso [:] se usa para hacer una copia del array original.

Lo que realmente hace [:] es seleccionar todos los elementos del array y lo asigna a uno nuevo. Por lo que names3 es un objeto diferente al names1, cosa que no pasa co names2. names2 es otro nombre del objeto names1. Por lo que, si se modifica names1 o names2 se modifican ambos, pero no en el caso de names3. Puedes ver la diferencia en el siguiente ejemplo:

1
2
3
4
5
6
7
8
9
10
11
names1 = ['Amir', 'Barry', 'Chales', 'Dao']
names2 = names1
names3 = names1[:]
 
names1[1] = 'En 1'
names2[2] = 'En 2'
names3[2] = 'En 3'
 
print(names1)
print(names2)
print(names3)

que da como resultado

1
2
3
['Amir', 'En 1', 'En 2', 'Dao']
['Amir', 'En 1', 'En 2', 'Dao']
['Amir', 'Barry', 'En 3', 'Dao']

Saludos,
Daniel Rodríguez.
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar