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