Dada una lista de tuplas. La tarea es extraer todas las tuplas que tienen todos los elementos divisibles por K.
Entrada : test_list = [(6, 24, 12), (60, 12, 6), (12, 18, 21)], K = 6
Salida : [(6, 24, 12), (60, 12, 6) )]
Explicación : Ambas tuplas tienen todos los elementos múltiplos de 6.Entrada : test_list = [(6, 24, 12), (60, 10, 5), (12, 18, 21)], K = 5
Salida : [(60, 10, 5)]
Explicación : múltiplo de 5 tuplas extraído.
Método #1: Usar lista de comprensión + all()
En esto, probamos que todos los elementos sean K múltiples usando all() para fines de filtrado, y la comprensión de listas se usa para la iteración de todas las tuplas.
Python3
# Python3 code to demonstrate working of # K Multiple Elements Tuples # Using list comprehension + all() # initializing list test_list = [(6, 24, 12), (7, 9, 6), (12, 18, 21)] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 6 # all() used to filter elements res = [sub for sub in test_list if all(ele % K == 0 for ele in sub)] # printing result print("K Multiple elements tuples : " + str(res))
The original list is : [(6, 24, 12), (7, 9, 6), (12, 18, 21)] K Multiple elements tuples : [(6, 24, 12)]
Método #2: Usando filter() + lambda + all()
En esto, realizamos la tarea de filtrar usando filter() + lambda, y la lógica provista por all(), como en el método anterior.
Python3
# Python3 code to demonstrate working of # K Multiple Elements Tuples # Using filter() + lambda + all() # initializing list test_list = [(6, 24, 12), (7, 9, 6), (12, 18, 21)] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 6 # filter() + lambda for filter operation res = list(filter(lambda sub: all(ele % K == 0 for ele in sub), test_list)) # printing result print("K Multiple elements tuples : " + str(res))
The original list is : [(6, 24, 12), (7, 9, 6), (12, 18, 21)] K Multiple elements tuples : [(6, 24, 12)]
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