Python: encuentra el primer elemento por segundo en la lista de tuplas

A veces, mientras trabajamos con registros de Python, podemos tener un problema en el que necesitamos encontrar el primer elemento de la tupla del segundo elemento dado. Este tipo de problema puede ocurrir en dominios como el desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada : lista_prueba = [(4, 5), (5, 6), (1, 3), (6, 6)] K = 6 Salida : [5, 6] Entrada : lista_prueba = [(4, 5), (5, 7), (1, 3), (6, 8)] K = 6 Salida : []

Método #1: Uso de la comprensión de listas Esta es una de las formas en que se puede realizar esta tarea. En esto, iteramos para cada tupla, y si encontramos una clave que coincida con el valor, la almacenamos en la lista de resultados. 

Python3

# Python3 code to demonstrate working of
# Find first element by second in tuple List
# Using list comprehension
 
# initializing list
test_list = [(4, 5), (5, 6), (1, 3), (6, 9)]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing K
K = 6
 
# Find first element by second in tuple List
# Using list comprehension
res = [x for (x, y) in test_list if y == K]
 
# printing result
print("The key from value : " + str(res))
Producción : 

The original list is : [(4, 5), (5, 6), (1, 3), (6, 9)]
The key from value : [5]

  Método n.º 2: usar next() + expresión generadora Esta es otra forma en la que se puede resolver esta tarea. Aquí, el next() se usa para obtener los elementos sucesivos y la expresión del generador se usa para verificar la lógica. 

Python3

# Python3 code to demonstrate working of
# Find first element by second in tuple List
# Using next() + generator expression
 
# initializing list
test_list = [(4, 5), (5, 6), (1, 3), (6, 9)]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing K
K = 6
 
# Find first element by second in tuple List
# Using next() + generator expression
res = next((x for x, y in test_list if y == K), None)
 
# printing result
print("The key from value : " + str(res))
Producción : 

The original list is : [(4, 5), (5, 6), (1, 3), (6, 9)]
The key from value : 5

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 *