Python: elimine la primera aparición de K en Tuple

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))
Producción :

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))
Producción :

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

Deja una respuesta

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