0

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

4

2 回答 2

3

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

import operator
lst = [...]
lst.sort(key=operator.itemgetter(3))
于 2013-04-15T20:32:43.443 回答
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]]
>>> 
于 2013-04-15T20:32:12.310 回答