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))
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))
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