Python: notación de corte en tupla

    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.

    Etiquetas:

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *