【问题标题】:Sort arraylist based off time index JSON?基于非时间索引JSON对arraylist进行排序?
【发布时间】:2018-05-11 07:14:14
【问题描述】:

我编写了 Python 代码,其中函数获取 JSON 列表(响应)、位置(目前无关紧要)和 tripIdArray(带有 trip_id 数字的数组,需要与'responses'名单) 它返回一个列表,其中'time' 作为字符串是第一个元素。我需要按'time' 对列表进行排序。

我该怎么做?这是我的代码。

def formMachine(responses, location, tripIdArray):
    predictionArray = []
    for response in tripIdArray:
        tripIdExists = False
        while (tripIdExists != True):
            for resp in responses:
                if (resp["trip_id"] == response):
                    predictionArray.append({'time': resp["arrival_time"],
                                            'location': location,
                                            'trans': 'sample data',
                                            'key': resp["trip_id"]})
                    tripIdExists = True
    return predictionArray

时间格式为 24 小时制(没有上午或下午),例如 "04:18:00"

【问题讨论】:

  • list.sortsorted 采用 key 参数,该参数可以作为函数从要排序和返回的项目中提取与排序相关的部分(此处为 'time' 值)它到实际的排序功能。
  • @juanpa.arrivillaga 谢谢,我已经更正了。
  • 感谢您帮助整理我的问题。

标签: python json python-3.x sorting arraylist


【解决方案1】:

这就足够了:

sortedPredictionArray = sorted(predictionArray, key=lambda d:d['time']) 

这是因为您的数组是一个字典数组。 key 例程抓取一个字典元素以用于排序。

【讨论】:

    猜你喜欢
    • 2015-10-06
    • 2019-12-08
    • 2017-09-17
    • 2013-11-29
    • 2021-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    相关资源
    最近更新 更多