通过python中子列表的索引对列表列表进行排序

时间:2013-04-15 20:29:19

标签: python list indexing sublist

我正处于一个更大的脚本中间,需要按子列表的索引排序列表。我的根列表包含与[纬度,经度,海拔,距离]对应的数字子列表。我需要在子列表中按距离对根列表进行排序。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您可以使用operator.itemgetter根据列表中的元素对列表进行排序:

import operator
lst = [...]
lst.sort(key=operator.itemgetter(3))

答案 1 :(得分:1)

您需要明确说明您希望对列表进行排序的值是多少;在您的情况下,列表中每个元素的第4个元素。一种方法是使用key方法的sort关键字参数,并向其传递一个提取该元素的函数(lambda):

>>> l = [[1,2,3,3],[1,2,3,2],[1,2,3,1]]
>>> l.sort(key=lambda s: s[3])
>>> l
[[1, 2, 3, 1], [1, 2, 3, 2], [1, 2, 3, 3]]
>>> 
相关问题