Dada la Lista de tuplas, filtre solo aquellas con todos los elementos pares.
Entrada : test_list = [(6, 4, 2, 8), (5, 6, 7, 6), (8, 1, 2), (7, )]
Salida : [(6, 4, 2, 8) ]
Explicación : solo 1 tupla con todos los elementos pares.Entrada : test_list = [(6, 4, 2, 9), (5, 6, 7, 6), (8, 1, 2), (7, )]
Salida : []
Explicación : No hay tupla con todos los elementos pares .
Método #1: Usar bucle
En esto, iteramos cada tupla y verificamos todos los elementos pares usando el operador % y si incluso un elemento es impar, la tupla se marca y no se agrega en la lista de resultados.
Python3
# Python3 code to demonstrate working of # Filter Tuples with All Even Elements # Using loop # initializing list test_list = [(6, 4, 2, 8), (5, 6, 7, 6), (8, 0, 2), (7, )] # printing original list print("The original list is : " + str(test_list)) res_list = [] for sub in test_list: res = True # check if all are even for ele in sub: if ele % 2 != 0: res = False break if res: res_list.append(sub) # printing results print("Filtered Tuples : " + str(res_list))
The original list is : [(6, 4, 2, 8), (5, 6, 7, 6), (8, 0, 2), (7, )] Filtered Tuples : [(6, 4, 2, 8), (8, 0, 2)]
Método #2: Usando all() + comprensión de lista
En esto, la tarea de verificar que todos los elementos sean pares se realiza usando all(), y la comprensión de listas se usa para la tarea de filtrar la verificación posterior.
Python3
# Python3 code to demonstrate working of # Filter Tuples with All Even Elements # Using all() + list comprehension # initializing list test_list = [(6, 4, 2, 8), (5, 6, 7, 6), (8, 0, 2), (7, )] # printing original list print("The original list is : " + str(test_list)) # testing for tuple to be even using all() res = [sub for sub in test_list if all(ele % 2 == 0 for ele in sub)] # printing results print("Filtered Tuples : " + str(res))
The original list is : [(6, 4, 2, 8), (5, 6, 7, 6), (8, 0, 2), (7, )] Filtered Tuples : [(6, 4, 2, 8), (8, 0, 2)]
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