← 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'
👨💻 ¡Ya lanzamos el curso oficial de Recursos Python en Udemy! Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter en 2024.
🐍 También te puede interesar:
💡 Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.