【发布时间】:2018-04-03 19:12:58
【问题描述】:
我有一个位置和城镇的字典列表,它们的经度和纬度看起来像这样
STATIONS = [
{'lat': '78.27', 'name': 'Longyearbyen', 'location': 'Longyearbyen', 'lon':
'15.49'},
{'lat': '71.03', 'name': 'Mehamn', 'location': 'Mehamn', 'lon': '27.83'},
{'lat': '70.67', 'name': 'Hammerfest', 'location': 'Hammerfest', 'lon':
'23.67'},
{'lat': '70.37', 'name': 'Vardø', 'location': 'Vardø', 'lon': '30.91'},
{'lat': '69.79', 'name': 'Sørkjosen', 'location': 'Sørkjosen', 'lon':
'20.95'},
{'lat': '69.65', 'name': 'Tromsø', 'location': 'Tromsø', 'lon': '18.94'},
{'lat': '69.61', 'name': 'Karasjok', 'location': 'Karasjok', 'lon':
'25.30'} ]
`
我想把城镇按字母顺序排序,然后从0 开始为每个城镇分配一个新键。所以第一个城镇会有0: 'town name'、1: 'second town name'等等。即
{0 : 'Town1', 1: 'town2' ....}
有没有合适的方法来做到这一点?当有许多词典列表时,我的头脑很混乱。
我已经设法通过使用按名称对列表进行排序
stations.sort(key=operator.itemgetter('name'))
【问题讨论】:
标签: python-3.x list sorting dictionary list-comprehension