Python | Reemplazar tupla de acuerdo con el elemento de tupla enésima

A veces, mientras trabajamos con datos, podemos tener un problema en el que necesitamos reemplazar la entrada en la que coincide una entrada de datos en particular. Esto puede ser un número de teléfono coincidente, identificación, etc. Esto tiene su aplicación en el dominio de desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Usar loop +enumerate()
Esta tarea se puede realizar usando la combinación de loops y la función de enumeración que puede ayudar a acceder al elemento N y luego verificar y reemplazar cuando se cumpla la condición.

# Python3 code to demonstrate working of
# Replace tuple according to Nth tuple element
# Using loops + enumerate()
  
# Initializing list
test_list = [('gfg', 1), ('was', 2), ('best', 3)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Initializing change record
repl_rec = ('is', 2)
  
# Initializing N 
N = 1
  
# Replace tuple according to Nth tuple element
# Using loops + enumerate()
for key, val in enumerate(test_list):
    if val[N] == repl_rec[N]:
        test_list[key] = repl_rec
        break
  
# printing result
print("The tuple after replacement is : " + str(test_list))
Producción :

The original list is : [('gfg', 1), ('was', 2), ('best', 3)]
The tuple after replacement is : [('gfg', 1), ('is', 2), ('best', 3)]

Método #2: Uso de la comprensión de listas
Este es el enfoque de una línea para resolver este problema en particular. En esto, solo iteramos el elemento de la lista y seguimos haciendo coincidir el elemento N-ésimo coincidente de la tupla y realizamos el reemplazo.

# Python3 code to demonstrate working of
# Replace tuple according to Nth tuple element
# Using list comprehension
  
# Initializing list
test_list = [('gfg', 1), ('was', 2), ('best', 3)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Initializing change record
repl_rec = ('is', 2)
  
# Initializing N 
N = 1
  
# Replace tuple according to Nth tuple element
# Using list comprehension
res = [repl_rec if sub[N] == repl_rec[N] else sub for sub in test_list]
  
# printing result
print("The tuple after replacement is : " + str(res))
Producción :

The original list is : [('gfg', 1), ('was', 2), ('best', 3)]
The tuple after replacement is : [('gfg', 1), ('is', 2), ('best', 3)]

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 *