【问题标题】:Python - Using min() to find min value in JSON object?Python - 使用 min() 在 JSON 对象中查找最小值?
【发布时间】:2016-02-23 01:30:47
【问题描述】:

所以我有一个 geojson 对象:

"features" : [{"properties": {"rank": 10}},{"properties": {"rank": 2}}]

等等。我想找到最低排名并使用min 方法。所以我尝试了这样的事情:

features = geojson["features"]
min(features["properties"]["rank"])

然后:

features = geojosn["features"]["properties"]["rank"]
min(features)

两者都得到了这个:

TypeError: 列表索引必须是切片的整数,而不是 str

我做错了什么?任何帮助将不胜感激,谢谢!!!

【问题讨论】:

    标签: python json geojson min


    【解决方案1】:

    我假设您有一个带有属性的功能列表(正如@idjaw 指出的那样,您的数据结构无效)。然后geojson['features'] 是一个列表,您没有索引该列表。您可以使用生成器来做到这一点:

    min(feature["properties"]["rank"] for feature in geojson['features'])
    

    或者,如果您想要整个功能,那么您可以使用密钥:

    min(geojson['features'], key=lambda feature: feature["properties"]["rank"])
    

    【讨论】:

    • 但基本上,feature在这里充当列表迭代器,循环遍历特征的元素?
    • 感谢您的回答!! :)
    猜你喜欢
    • 2011-04-22
    • 2021-07-13
    • 1970-01-01
    • 2013-11-12
    • 1970-01-01
    • 2021-12-08
    • 2018-04-08
    • 1970-01-01
    • 2013-10-05
    相关资源
    最近更新 更多