A veces, mientras trabajamos con tuplas de Python, podemos tener un problema en el que necesitamos realizar la eliminación de la primera aparición de un elemento en la tupla. Este tipo de problema puede tener aplicación en muchos dominios como la programación escolar. Analicemos ciertas formas en que se puede realizar esta tarea.
Entrada : test_tuple = (5, 6, 5, 4, 7, 8, 4), K = 5
Salida : (6, 5, 4, 7, 8, 4)Entrada : test_tuple = (5, 6, 8, 4, 7, 8, 4), K = 8
Salida : (5, 6, 4, 7, 8, 4)
Método #1: Usarindex() + loop + list slicing
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de extraer la primera aparición de K usando index() y el corte de lista se usa para reordenar la tupla después de la eliminación del elemento.
# Python3 code to demonstrate working of # Remove first occurrence of K in Tuple # Using index() + loop + list slicing # initializing tuples test_tuple = (5, 6, 4, 4, 7, 8, 4) # printing original tuple print("The original tuple : " + str(test_tuple)) # initializing K K = 4 # Remove first occurrence of K in Tuple # Using index() + loop + list slicing try: idx = test_tuple.index(K) res = test_tuple[:idx] + test_tuple[idx + 1:] except ValueError: res = test_tuple # printing result print("Tuple after element removal : " + str(res))
The original tuple : (5, 6, 4, 4, 7, 8, 4) Tuple after element removal : (5, 6, 4, 7, 8, 4)
Método #2: Usar enumerate()
la expresión del generador +
Esta es una de las formas en que se puede realizar esta tarea. Esto ofrece una forma lineal de resolver este problema. En esto, realizamos la tarea de verificar el elemento y el índice usando enumerate().
# Python3 code to demonstrate working of # Remove first occurrence of K in Tuple # Using enumerate() + generator expression # initializing tuples test_tuple = (5, 6, 4, 4, 7, 8, 4) # printing original tuple print("The original tuple : " + str(test_tuple)) # initializing K K = 4 # Remove first occurrence of K in Tuple # Using enumerate() + generator expression res = tuple(ele for idx, ele in enumerate(test_tuple) if idx != test_tuple.index(K)) # printing result print("Tuple after element removal : " + str(res))
The original tuple : (5, 6, 4, 4, 7, 8, 4) Tuple after element removal : (5, 6, 4, 7, 8, 4)
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