Programa de Python para eliminar elementos que tienen menos de K de diferencia en una lista

Dada una lista, realiza la eliminación de aquellos elementos cuya diferencia es menor que K de su elemento anterior.

Entrada : test_list = [3, 19, 5, 8, 10, 13], K = 4 
Salida : [3, 8, 13, 19] 
Explicación : 5 – 3 = 2, 2<4, por lo tanto, 5 se elimina, de manera similar , 10 – 8 es 2, menos que K.

Entrada : test_list = [15, 7, 20], K = 4 
Salida : [7, 15, 20] 
Explicación : No se requiere eliminación.  

Acercarse:Usando bucle y ordenado()

En esto, primero, la lista debe ordenarse y luego se realiza la eliminación de elementos que no tienen una distancia adecuada entre su elemento anterior y posterior.

Python3

# initializing list
test_list = [3, 19, 4, 8, 10, 13]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing K 
K = 4
  
# sorting list 
test_list = sorted(test_list)
  
idx = 0
while idx < len(test_list) - 1:
      
    # checking for difference
    if test_list[idx] + K > test_list[idx + 1]:
          
        # deleting if K closer
        del test_list[idx + 1]
    else:
        idx += 1
  
# printing result 
print("Required List : " + str(test_list))

Producción:

La lista original es: [3, 19, 4, 8, 10, 13]

Lista requerida: [3, 8, 13, 19] 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *