Python: obtenga incluso elementos indexados en Tuple

A veces, al trabajar con datos de Python, uno puede tener un problema en el que necesitamos realizar la tarea de extraer incluso elementos indexados en tuplas. Este tipo de problema es bastante común y puede tener una posible aplicación en muchos dominios, como la programación día a día. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada : test_tuple = (1, 2, 4, 5, 6)
Salida : (1, 4, 6)

Entrada : test_tuple = (1, 2, 4)
Salida : (1, 4)

Método #1: Usartuple() + generator expression + enumerate()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de iteración usando la expresión del generador, verificando el índice uniforme usando enumerate() y convirtiendo el resultado en tupla usando tuple().

# Python3 code to demonstrate working of 
# Extract Even indexed elements in Tuple
# Using tuple() + generator expression + enumerate()
  
# initializing tuples
test_tuple = (5, 'Gfg', 2, 8.8, 1.2, 'is')
  
# printing original tuple
print("The original tuple : " + str(test_tuple))
  
# Extract Even indexed elements in Tuple
# Using tuple() + generator expression + enumerate()
res = tuple(ele for idx, ele in enumerate(test_tuple) if idx % 2 == 0)
  
# printing result 
print("The even indexed elements : " + str(res))
Producción :

The original tuple : (5, 'Gfg', 2, 8.8, 1.2, 'is')
The even indexed elements : (5, 2, 1.2)

Método n.º 2: uso de la recursividad
Esta es otra forma en la que se puede realizar esta tarea. En esto, pasamos a recurrir. funcione la nueva lista y extraiga el elemento inicial y pase la lista nuevamente hasta el final de la lista, extrayendo solo el elemento indexado par.

# Python3 code to demonstrate working of 
# Extract Even indexed elements in Tuple
# Using recursion
  
def helper_fnc(test_tuple):
    if len(test_tuple) == 0 or len(test_tuple) == 1:
        return ()
    return (test_tuple[0], ) + helper_fnc(test_tuple[2:])
  
# initializing tuples
test_tuple = (5, 'Gfg', 2, 8.8, 1.2, 'is')
  
# printing original tuple
print("The original tuple : " + str(test_tuple))
  
# Extract Even indexed elements in Tuple
# Using recursion
res = helper_fnc(test_tuple)
  
# printing result 
print("The even indexed elements : " + str(res))
Producción :

The original tuple : (5, 'Gfg', 2, 8.8, 1.2, 'is')
The even indexed elements : (5, 2, 1.2)

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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