开发者

Method to sort a list of lists? [duplicate]

This question already has answers here: How to sort a list of lists by a specific index of the inner list? (12 answers) Closed last year.

I have a list of lists (can't be tuples since I have to generate it dynamically) and it is structured as a list of lists of one int and o开发者_如何转开发ne float Like so:

[[1,1.0345],[2,5.098],[3,4.89],[2,5.97]]

I want to get it sorted but I have only managed to get the built in sorting function to sort it by the first element of the lists or not do anything, but I need to sort them by the second element of the list and I don't want to implement my own sorting function. So an example of what I would want is:

[[1,1.0345],[3,4.89],[2,5.098],[2,5.97]]

Could someone tell me how to get one of the built in sorting functions to do this?


Pass the key argument.

L.sort(key=operator.itemgetter(1))


>>> l = [[1,1.0345],[2,5.098],[3,4.89],[2,5.97]]
>>> l.sort(key=lambda x: x[1])
>>> l
[[1, 1.0345], [3, 4.8899999999999997], [2, 5.0979999999999999], [2, 5.9699999999999998]]


How about using they key parameter of sorted...

sorted_list = sorted([[1,1.0345],[3,4.89],[2,5.098],[2,5.97]], key=lambda x: x[1])

This tells python to sort the list of lists using the item at index 1 of each list as the key for the compare.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜