Dada una lista, elimine todos los elementos que estén dentro de una distancia K con N.
Entrada : test_list = [4, 5, 9, 1, 10, 6, 13], K = 3, N = 5
Salida : [9, 1, 10, 13]
Explicación : 4 se elimina como 5 – 4 = 1 < 3, por lo tanto, está dentro de la distancia.Entrada : test_list = [1, 10, 6, 13], K = 3, N = 5
Salida : [1, 10, 13]
Explicación : 4 se elimina como 5 – 4 = 1 < 3, por lo tanto, está dentro de la distancia.
Método #1: Usar la comprensión de listas
En esto, extraemos solo aquellos elementos que están a una distancia segura por magnitud K a N usando comparaciones usando comprensión de lista.
Python3
# Python3 code to demonstrate working of # Remove Elements in K distance with N # Using list comprehension # initializing list test_list = [4, 5, 9, 1, 10, 6, 13 ] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 3 # initializing N N = 5 # checking for elements in safe zone with respect to N res = [ele for ele in test_list if ele < N - K or ele > N + K] # printing result print("Filtered elements : " + str(res))
The original list is : [4, 5, 9, 1, 10, 6, 13] Filtered elements : [9, 1, 10, 13]
Método #2: Usar filter() + lambda
En esto, la tarea de filtrado se realiza mediante filter() y la función lambda.
Python3
# Python3 code to demonstrate working of # Remove Elements in K distance with N # Using filter() + lambda # initializing list test_list = [4, 5, 9, 1, 10, 6, 13 ] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 3 # initializing N N = 5 # checking for elements in safe zone with respect to N res = list(filter(lambda ele : ele < N - K or ele > N + K, test_list)) # printing result print("Filtered elements : " + str(res))
The original list is : [4, 5, 9, 1, 10, 6, 13] Filtered elements : [9, 1, 10, 13]
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