El
slicing es una manera de tratar los datos almacenados en las listas
de python por tramos, es decir, acceder a los datos de las listas sin
tener que leerlas enteras.
Ejemplo
1 :
Mostraremos
el valor de la lista, comprendido entre dos valores.
Lista
= ['Luis', 'Manolo', 'Roberto', 'Anselmo', 'Jorge']
print
Lista
['Luis',
'Manolo', 'Roberto', 'Anselmo', 'Jorge']
#Tenemos
creada la lista, veamos el slicing
print
Lista[1:3]
['Manolo',
'Roberto']
|
Observamos
que al ordenar la impresión del tramo de lista [1:3] , nos muestra
realmente el valor 1 y 2 de la lista, son los valores de inicio (1),
y final (3), tendremos que recordar que el valor final no se
mostrará.
Ejemplo
2 :
Mostraremos
los valores sin poner el parámetro de inicio
Lista
= ['Luis', 'Manolo', 'Roberto', 'Anselmo', 'Jorge']
print
Lista[:3]
['Luis',
'Manolo', 'Roberto']
|
Observamos
que esta vez al no definir el parámetro de inicio, python empieza
desde el valor 0 hasta el valor 3, recordemos que el valor final no
se muestra.
Ejemplo
3 :
Mostraremos
los valores, desde la mitad de la listas hasta el final
Lista
= ['Luis', 'Manolo', 'Roberto', 'Anselmo', 'Jorge']
print
Lista[3:]
['Anselmo',
'Jorge']
|
Python
si muestra el valor indicado como inicio, en este caso el 3
'Anselmo'.
Ejemplo
4 :
Primero
añadiremos un par de nombres más a la lista y luego ordenaremos que
nos muestre un tramo de lista, pero con saltos dentro de los valores
de la lista.
Lista
= ['Luis', 'Manolo', 'Roberto', 'Anselmo', 'Jorge']
Lista.append('Mariano')
Lista.append('Joselito')
Lista.append('Jacinto')
print
Lista
['Luis',
'Manolo', 'Roberto', 'Anselmo', 'Jorge', 'Mariano', 'Joselito',
'Jacinto']
print
Lista[2:8:2]
['Roberto',
'Jorge', 'Joselito']
|
En
este caso, python genera una lista seleccionando los valores desde el
2 al 8 [2:8] y luego, dentro de esa lista, va dando saltos de 2 en 2
y es lo que finalmente muestra. [Inicio:Fin:Salto].
Ejemplo
5 :
Dar
saltos por todos los valores de la lista
Lista
= ['Luis', 'Manolo', 'Roberto', 'Anselmo', 'Jorge', 'Mariano',
'Joselito', 'Jacinto']
#Saltos
de 2 en 2
print
Lista[::2]
['Luis',
'Roberto', 'Jorge', 'Joselito']
#Saltos
de 3 en 3
print
Lista[::3]
['Luis',
'Anselmo', 'Joselito']
|
Al
no iniciar los valores de Inicio/Fin, python genera la lista completa
y va dando saltos de 2 en 2 y mostrando los valores.
Ejemplo
6 :
Modificar
los valores de la lista usando slicing
Lista
= ['Luis', 'Manolo', 'Roberto', 'Anselmo', 'Jorge', 'Mariano',
'Joselito', 'Jacinto']
Lista[0:2]
= [1,2]
print
Lista
[1,
2, 'Roberto', 'Anselmo', 'Jorge', 'Mariano', 'Joselito',
'Jacinto']
|
Indicamos
que los valores de la lista 'Lista' 0 y 1, deben cambiar a 1 y 2.