Dada la lista de tuplas duales, elimine los pares con una diferencia mayor que K.
Entrada : test_list = [(4, 8), (1, 7), (9, 12), (3, 12), (2, 10)], K = 6
Salida : [(4, 8), (9 , 12), (1, 7)]
Explicación : 4 (8 – 4), 3 (12 – 9) y 6 no son mayores que 6, por lo que se conservan.Entrada : test_list = [(4, 8), (1, 7), (9, 12), (3, 12), (2, 10)], K = 3
Salida : [(9, 12)]
Explicación : 3 (12 – 9) no es mayor que 3, por lo tanto retenido.
Método #1: Usar la comprensión de listas
En esto, realizamos el filtrado probando la diferencia absoluta usando abs() , si se encuentra menor que K, se retiene, por lo tanto, se eliminan las tuplas de diferencia mayores que K.
Python3
# Python3 code to demonstrate working of # Remove Tuples with difference greater than K # Using list comprehension # initializing list test_list = [(4, 8), (1, 7), (9, 12), (3, 12), (2, 10)] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 5 # filtering using list comprehension, checking for smaller than K diff. res = [sub for sub in test_list if abs(sub[0] - sub[1]) <= K] # printing result print("Tuples List after removal : " + str(res))
Producción:
La lista original es: [(4, 8), (1, 7), (9, 12), (3, 12), (2, 10)]
Lista de tuplas después de la eliminación: [(4, 8), (9) , 12)]
Método #2: Usar filter() + lambda + abs()
En esto, la tarea de filtrado se realiza usando filter() y la función lambda , abs() se usa para obtener la diferencia absoluta.
Python3
# Python3 code to demonstrate working of # Remove Tuples with difference greater than K # Using filter() + lambda + abs() # initializing list test_list = [(4, 8), (1, 7), (9, 12), (3, 12), (2, 10)] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 5 # Using filter() and lambda function for filtering res = list(filter(lambda sub: abs(sub[0] - sub[1]) <= K, test_list)) # printing result print("Tuples List after removal : " + str(res))
Producción:
La lista original es: [(4, 8), (1, 7), (9, 12), (3, 12), (2, 10)]
Lista de tuplas después de la eliminación: [(4, 8), (9) , 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