所以我有一个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
我做错了什么?任何帮助将不胜感激,谢谢!
答案 0 :(得分:6)
我假设您有一个带属性的功能列表(因为@idjaw指出您的数据结构无效)。然后geojson['features']
是一个列表,您没有索引列表。您可以使用生成器执行此操作:
min(feature["properties"]["rank"] for feature in geojson['features'])
或者,如果您想要恢复整个功能,则可以使用密钥:
min(geojson['features'], key=lambda feature: feature["properties"]["rank"])