Python | Minimum Difference in Matrix Columns
Last Updated :
17 Apr, 2023
This particular article focuses on a problem that has utility in competitive as well as day-day programming. Sometimes, we need to get the minimum difference between the like indices when compared with the next list. The minimum difference between the like elements in that index is returned. Let’s discuss certain ways in which this task can be performed.
Method #1 : Using min() + abs() + zip() + list comprehension This particular problem can also be solved using the combination of the above 4 operations. Here zip function does the dual task of pairing the list and also pairing the like indices for difference, to be computed by abs function and then minimum is found using min function, all bounded by list comprehension.
Python3
test_list = [[ 3 , 4 , 5 ], [ 4 , 6 , 8 ], [ 1 , 9 , 2 ], [ 3 , 7 , 10 ]]
print ("The original list : " + str (test_list))
res = [ min ( abs (i - j) for i, j in zip ( * ele)) for ele in zip (test_list, test_list[ 1 :])]
print ("The minimum difference sublist : " + str (res))
|
Output :
The original list : [[3, 4, 5], [4, 6, 8], [1, 9, 2], [3, 7, 10]]
The minimum difference sublist : [1, 3, 2]
Time Complexity: O(n*n), where n is the number of elements in the list “test_list”.
Auxiliary Space: O(n), where n is the number of elements in the list “test_list”.
Method #2 : Using min() + map() + abs + zip() This task can also be achieved using the combination of above functions, the addition is map function that performs the task of binding of abs operation to the whole list.
Python3
test_list = [[ 3 , 4 , 5 ], [ 4 , 6 , 8 ], [ 1 , 9 , 2 ], [ 3 , 7 , 10 ]]
print ("The original list : " + str (test_list))
res = [ min ( map ( abs , (i - j for i, j in zip (x, y)))) for x, y in zip (test_list, test_list[ 1 :])]
print ("The minimum difference sublist : " + str (res))
|
Output :
The original list : [[3, 4, 5], [4, 6, 8], [1, 9, 2], [3, 7, 10]]
The minimum difference sublist : [1, 3, 2]
Share your thoughts in the comments
Please Login to comment...