-7

I have a list of lists where each sub-list contains date values. How can I sort this based on Date?

tList=[['xX0001', '10006', '102', '', '2018-02-02', 3233.9, 0.0, 36816.18, ''], 
['xX0001', '10006', '102', '', '2018-02-01', 4142.45, 0.0, 40146.55, ''], 
['xX0001', '10006', '200', '', '2018-02-02', 14367.539999999999, 0.0, 41496.42999999999, ''], 
['xX0001', '10006', '200', '', '2018-02-01', 12663.27, 0.0, 56043.94, '']]
Mad Physicist
  • 107,652
  • 25
  • 181
  • 264
Ratha
  • 9,434
  • 17
  • 85
  • 163

2 Answers2

4

try, and you will get you expect sort

In [51]: a=[['xX0001', '10006', '102', '', '2018-02-02', 3233.9, 0.0, 36816.18, ''], 
    ...: ['xX0001', '10006', '102', '', '2018-02-01', 4142.45, 0.0, 40146.55, ''], 
    ...: ['xX0001', '10006', '200', '', '2018-02-02', 14367.539999999999, 0.0, 41496.42999999999, ''], 
    ...: ['xX0001', '10006', '200', '', '2018-02-01', 12663.27, 0.0, 56043.94, '']]
In [52]: sorted(a, key=lambda b: b[4])
Out[52]: 
[['xX0001', '10006', '102', '', '2018-02-01', 4142.45, 0.0, 40146.55, ''],
 ['xX0001', '10006', '200', '', '2018-02-01', 12663.27, 0.0, 56043.94, ''],
 ['xX0001', '10006', '102', '', '2018-02-02', 3233.9, 0.0, 36816.18, ''],
 ['xX0001',
  '10006',
  '200',
  '',
  '2018-02-02',
  14367.539999999999,
  0.0,
  41496.42999999999,
  '']]

In [53]: sorted(a, key=lambda b: b[4])
Frank AK
  • 1,705
  • 15
  • 28
1

Try:

print(sorted(tList,key=lambda x: x[4]))

Or:

tList.sort(key=lambda x: x[4])
print(tList)
U13-Forward
  • 69,221
  • 14
  • 89
  • 114