Python: notación de corte en tupla

P

Introducción

El término segmentar en programación generalmente se refiere a obtener una subcadena, subtupla o sublista de una cadena, tupla o lista, respectivamente.

Python ofrece una variedad de formas sencillas de dividir no solo estos tres, sino cualquier iterable. Un iterable es, como su nombre indica, cualquier objeto sobre el que se pueda iterar.

En este artículo, repasaremos todo lo que necesita saber sobre Slicing Tuples en Python.

Cortar una tupla en Python

Hay un par de formas de dividir una tupla, la más común es mediante el uso de : operador con la siguiente sintaxis:

tuple[start:end]
tuple[start:end:step]

los start parámetro representa el índice inicial, end es el índice final, y step es el número de elementos sobre los que se “pasa”.

Si step no se proporciona explícitamente, el valor predeterminado es 1.

Sigamos adelante y cortemos una tupla:

a_tuple = ('You', 'can’t', 'stop', 'the', 'change,', 'any', 'more', 'than', 'you', 'can', 'stop', 'the', 'suns', 'from', 'setting.')
subtuple = a_tuple[1:5]
print(subtuple)

La tupla resultante será:

('can’t', 'stop', 'the', 'change,')

Encontrar el primero y el último n elementos de una tupla

Para encontrar el primero y el último n elementos de una tupla, cortaremos desde el primer elemento hasta n y luego de -n hasta el final de la tupla.

-n comenzará a contar desde el final de la tupla, hacia atrás, dándonos el último n elementos:

n = 2
a_tuple = ('I', 'find', 'your', 'lack', 'of', 'faith', 'disturbing.')

first_n_tuple = a_tuple[:n]
print(first_n_tuple)
last_n_tuple = a_tuple[-n:]
print(last_n_tuple)

Las subtuplas resultantes son:

('I', 'find')
('faith', 'disturbing.')

Tupla inversa con notación de corte

Si configuramos el step parámetro a -1, empezará a retroceder. Si incluimos el todo, o incluso una parte de la tupla, y simplemente retrocedemos, efectivamente invertirá el contenido de la tupla:

a_tuple = ('Fear', 'is', 'the', 'path', 'to', 'the', 'dark', 'side.', 'Fear', 'leads', 'to', 'anger;', 'anger', 'leads', 'to', 'hate;', 'hate', 'leads', 'to', 'suffering.', 'I', 'sense', 'much', 'fear', 'in', 'you.', 7)
reverse_tuple = a_tuple[::-1]
print(reverse_tuple)

La tupla invertida será:

(7, 'you.', 'in', 'fear', 'much', 'sense', 'I', 'suffering.', 'to', 'leads', 'hate', 'hate;', 'to', 'leads', 'anger', 'anger;', 'to', 'leads', 'Fear', 'side.', 'dark', 'the', 'to', 'path', 'the', 'is', 'Fear')

Encontrar cada enésimo elemento de una tupla

Para encontrar cada n-th elemento de una tupla, saltaremos sobre todos losn elementos estableciendo el paso para ser n:

n = 5
a_tuple = ('The', 'dark', 'side', 'of', 'the', 'Force', 'is', 'a', 'pathway', 'to', 'many', 'abilities', 'some', 'consider', 'to', 'be', 'unnatural.')
replaced_tuple = a_tuple[::n]
print(replaced_tuple)

Esto resultará en una tupla:

('The', 'Force', 'many', 'be')

Conclusión

Cortar cualquier secuencia en Python es fácil, simple e intuitivo. La indexación negativa ofrece una manera fácil de adquirir los primeros o últimos elementos de una secuencia, o invertir su orden.

En este artículo, hemos cubierto cómo aplicar la notación de sector en tuplas en Python.

About the author

Ramiro de la Vega

Bienvenido a Pharos.sh

Soy Ramiro de la Vega, Estadounidense con raíces Españolas. Empecé a programar hace casi 20 años cuando era muy jovencito.

Espero que en mi web encuentres la inspiración y ayuda que necesitas para adentrarte en el fantástico mundo de la programación y conseguir tus objetivos por difíciles que sean.

Add comment

Sobre mi

Últimos Post

Etiquetas

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con tus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad