How to sort a list of lists by the second item in sub-list in ascending order with Python

3 Answers

0 votes
def get_second_item(item):
    return item[1]

lst = [[4, 3], [7, 5], [3, 1], [5, 9], [1, 4], [6, 9]]

lst = sorted(lst, key=get_second_item)

print(lst)


'''
run:

[[3, 1], [4, 3], [1, 4], [7, 5], [5, 9], [6, 9]]

'''

 



answered Nov 2, 2018 by avibootz
0 votes
import operator

lst = [[4, 3, 5], [7, 5, 8], [3, 1, 6], [5, 9, 3], [1, 4, 2], [6, 9, 1]]

lst = sorted(lst, key=operator.itemgetter(1))

print(lst)


'''
run:

[[3, 1, 6], [4, 3, 5], [1, 4, 2], [7, 5, 8], [5, 9, 3], [6, 9, 1]]

'''

 



answered Nov 3, 2018 by avibootz
0 votes
lst = [[4, 3, 5], [7, 5, 8], [3, 1, 6], [5, 9, 3], [1, 4, 2], [6, 9, 1]]

lst.sort(key=lambda x: x[1])

print(lst)


'''
run:

[[3, 1, 6], [4, 3, 5], [1, 4, 2], [7, 5, 8], [5, 9, 3], [6, 9, 1]]

'''

 



answered Nov 3, 2018 by avibootz
...