簡體   English   中英

按python中子列表的索引對列表列表進行排序

[英]Sorting a list of lists by the index of a sublist in python

我在一個較大的腳本中間,需要按子列表的索引對列表進行排序。 我的根目錄列表包含對應於[緯度,經度,海拔,距離]的數字子列表。 我需要在子列表中按距離對根列表進行排序。 有任何想法嗎?

您可以使用operator.itemgetter對列表中的元素進行排序:

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

您需要明確地說出要對列表進行排序的值是什么; 在您的情況下,列表中每個元素的第4個元素。 一種實現方法是使用sort方法的key參數,然后將提取該元素的函數(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]]
>>> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM