Sorting multiple lists A and B by the value in B in python

Post date: Sep 22, 2016 10:57:11 PM

How to sort two lists in Python using sorted and zip(*).

In [8]: a = [1, 2, 3]
In [9]: b = [2, 8, 6]
In [10]: datamatrix = []
In [11]: datamatrix.append(a)
In [12]: datamatrix.append(b)
In [13]: datamatrix
Out[13]: [[1, 2, 3], [2, 8, 6]]
In [14]: zip(datamatrix)
Out[14]: [([1, 2, 3],), ([2, 8, 6],)]
In [15]: zip(*datamatrix)
Out[15]: [(1, 2), (2, 8), (3, 6)]
In [16]: map(list, zip(*datamatrix))
Out[16]: [[1, 2], [2, 8], [3, 6]]
In [17]: sorted(map(list, zip(*datamatrix)), key=lambda x:x[0], reverse=False)
Out[17]: [[1, 2], [2, 8], [3, 6]]
In [18]: sorted(map(list, zip(*datamatrix)), key=lambda x:x[1], reverse=False)
Out[18]: [[1, 2], [3, 6], [2, 8]]