Given a List of elements, perform sort on basis of its distance from K.
Input : test_list = [6, 7, 4, 11, 17, 8, 3], K = 10
Output : [11, 8, 7, 6, 4, 17, 3]
Explanation : 11-10 = 1; < 10 – 8 = 2 .. Ordered by increasing difference.Input : test_list = [6, 7, 4, 11], K = 10
Output : [11, 7, 6, 4]
Explanation : 11-10 = 1; < 10 – 7 = 3 .. Ordered by increasing difference.
Method #1 : Using sort() + abs()
In this, we perform sorting using sort() and abs() is used to get the difference, used for logic formation to perform sort operation upon.
Python3
# Python3 code to demonstrate working of # Nearest K Sort # Using sort() + abs() # getting absolute difference def get_diff(ele): # returning absolute difference return abs (ele - K) # initializing list test_list = [ 6 , 7 , 4 , 11 , 17 , 8 , 3 ] # printing original list print ( "The original list is : " + str (test_list)) # initializing K K = 10 # performing inplace sort using sort() test_list.sort(key = get_diff) # printing result print ( "Sorted List : " + str (test_list)) |
The original list is : [6, 7, 4, 11, 17, 8, 3] Sorted List : [11, 8, 7, 6, 4, 17, 3]
Method #2 : Using sorted() + lambda + abs()
Similar to above method, here, sorted() is used to perform sort operation and rather than calling external function, lambda is used to provide sorting logic.
Python3
# Python3 code to demonstrate working of # Nearest K Sort # Using sorted() + abs() + lambda # initializing list test_list = [ 6 , 7 , 4 , 11 , 17 , 8 , 3 ] # printing original list print ( "The original list is : " + str (test_list)) # initializing K K = 10 # sorted() used to perform sorting, lambda function to get logic res = sorted (test_list, key = lambda ele: abs (ele - K)) # printing result print ( "Sorted List : " + str (res)) |
The original list is : [6, 7, 4, 11, 17, 8, 3] Sorted List : [11, 8, 7, 6, 4, 17, 3]
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.