Dada una lista de tuplas, filtre por la presencia del elemento K-ésimo en la Lista.
Entrada : test_list = [(“GFg”, 5, 9), (“es”, 4, 3), (“mejor”, 10, 29)], check_list = [4, 2, 3, 10], K = 2
Salida : [(‘es’, 4, 3)]
Explicación : 3 es el segundo elemento y está presente en la lista, por lo tanto, tupla filtrada.Entrada : test_list = [(“GFg”, 5, 9), (“es”, 4, 3), (“mejor”, 10, 29)], check_list = [4, 2, 3, 10], K = 1
Salida : [(‘es’, 4, 3), (‘mejor’, 10, 29)]
Explicación : 4 y 10 son los primeros elementos y están presentes en la lista, por lo tanto, son tuplas filtradas.
Método #1: Usar la comprensión de listas
En esto, verificamos que cada elemento del K-ésimo elemento de Tuple esté presente en la lista de forma abreviada usando la comprensión de la lista y la contención se prueba usando el operador in.
Python3
# Python3 code to demonstrate working of # Filter Tuples by Kth element from List # Using list comprehension # initializing list test_list = [("GFg", 5, 9), ("is", 4, 3), ("best", 10, 29)] # printing original list print("The original list is : " + str(test_list)) # initializing check_list check_list = [4, 2, 8, 10] # initializing K K = 1 # checking for presence on Kth element in list # one liner res = [sub for sub in test_list if sub[K] in check_list] # printing result print("The filtered tuples : " + str(res))
The original list is : [('GFg', 5, 9), ('is', 4, 3), ('best', 10, 29)] The filtered tuples : [('is', 4, 3), ('best', 10, 29)]
Método #2: Usar filter() + lambda
En esto, la función lambda verifica la presencia de elementos y el filtro realiza la tarea de filtrar tuplas.
Python3
# Python3 code to demonstrate working of # Filter Tuples by Kth element from List # Using filter() + lambda # initializing list test_list = [("GFg", 5, 9), ("is", 4, 3), ("best", 10, 29)] # printing original list print("The original list is : " + str(test_list)) # initializing check_list check_list = [4, 2, 8, 10] # initializing K K = 1 # filter() perform filter, lambda func. checks for presence # one liner res = list(filter(lambda sub: sub[K] in check_list, test_list)) # printing result print("The filtered tuples : " + str(res))
The original list is : [('GFg', 5, 9), ('is', 4, 3), ('best', 10, 29)] The filtered tuples : [('is', 4, 3), ('best', 10, 29)]
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