← Volver
Las listas, tuplas y cadenas, al ser colecciones ordenadas de objetos –en el caso de las cadenas, de caracteres– soportan una operación llamada slicing. Se indica entre corchetes e intercalados por dos puntos las posiciones de inicio y fin del subconjunto que se quiere obtener.
Cuando se omite alguno de los índices, Python considera el inicio o bien el final de la colección según corresponda.
Este código es, en rigor, similar a
Los índices pueden ser también negativos, para indicar posiciones a partir del final de la lista, es decir, de derecha a izquierda.
Un tercer índice indica el intervalo en el que se obtienen los elementos. Por defecto es
Dado que este tercer índice también puede ser un número negativo, el siguiente código retorna los elementos de derecha a izquierda.
El procedimiento es similar para cadenas. Cada uno de los caracteres se considera un elemento.
Cómo obtener un subconjunto de una lista, tupla o cadena
>>> lenguajes = ["Python", "C", "C++", "Java", "Elixir", "Rust"]
>>> lenguajes[2:4]
['C++', 'Java']
Cuando se omite alguno de los índices, Python considera el inicio o bien el final de la colección según corresponda.
>>> lenguajes[1:] # Todos los elementos a excepción del primero.
['C', 'C++', 'Java', 'Elixir', 'Rust']
Este código es, en rigor, similar a
lenguajes[1:len(lenguajes)]
.Los índices pueden ser también negativos, para indicar posiciones a partir del final de la lista, es decir, de derecha a izquierda.
>>> lenguajes[:-1] # Todos los elementos a excepción del último.
['Python', 'C', 'C++', 'Java', 'Elixir']
Un tercer índice indica el intervalo en el que se obtienen los elementos. Por defecto es
1
, de modo que todos se incluyen en el resultado.>>> lenguajes[::2] # Obtener elementos en intervalos de 2.
['Python', 'C++', 'Elixir']
>>> list(range(1, 11))[::2]
[1, 3, 5, 7, 9]
Dado que este tercer índice también puede ser un número negativo, el siguiente código retorna los elementos de derecha a izquierda.
>>> lenguajes[::-1]
['Rust', 'Elixir', 'Java', 'C++', 'C', 'Python']
El procedimiento es similar para cadenas. Cada uno de los caracteres se considera un elemento.
>>> s = "Hola mundo!"
>>> s[5:10]
'mundo'
🐍 También te puede interesar:
💬 ¿Alguna duda sobre este código? ¡Preguntanos en el foro!
❤️ ¿Te gusta nuestro contenido? ¡Ayudanos a seguir creciendo con una donación!