python - 在具有多个值的python中切换字典中的键和值
问题描述
给定这样的字典(来自 geonamescache 的数据):
{'3041563': {'geonameid': 3041563,
'name': 'Andorra la Vella',
'latitude': 42.50779,
'longitude': 1.52109,
'countrycode': 'AD',
'population': 20430,
'timezone': 'Europe/Andorra',
'admin1code': '07'},
'290594': {'geonameid': 290594,
'name': 'Umm Al Quwain City',
'latitude': 25.56473,
'longitude': 55.55517,
'countrycode': 'AE',
'population': 62747,
'timezone': 'Asia/Dubai',
'admin1code': '07'},
'291074': {'geonameid': 291074,
'name': 'Ras Al Khaimah City',
'latitude': 25.78953,
'longitude': 55.9432,
'countrycode': 'AE',
'population': 351943,
'timezone': 'Asia/Dubai',
'admin1code': '05'},....
如何为dict中的所有项目切换值为'name'的键?这意味着城市名称将成为每个项目的关键。
预期输出:
{'Andorra la Vella': {'geonameid': 3041563,
'latitude': 42.50779,
'longitude': 1.52109,
'countrycode': 'AD',
'population': 20430,
'timezone': 'Europe/Andorra',
'admin1code': '07'},
'Umm Al Quwain City': {'geonameid': 290594,
'latitude': 25.56473,
'longitude': 55.55517,
'countrycode': 'AE',
'population': 62747,
'timezone': 'Asia/Dubai',
'admin1code': '07'},
'Ras Al Khaimah City': {'geonameid': 291074,
'latitude': 25.78953,
'longitude': 55.9432,
'countrycode': 'AE',
'population': 351943,
'timezone': 'Asia/Dubai',
'admin1code': '05'},....
解决方案
您是否正在寻找这样的输出?
{'Andorra la Vella': {'admin1code': '07',
'countrycode': 'AD',
'geonameid': 3041563,
'latitude': 42.50779,
'longitude': 1.52109,
'name': 'Andorra la Vella',
'population': 20430,
'timezone': 'Europe/Andorra'},
'Ras Al Khaimah City': {'admin1code': '05',
'countrycode': 'AE',
'geonameid': 291074,
'latitude': 25.78953,
'longitude': 55.9432,
'name': 'Ras Al Khaimah City',
'population': 351943,
'timezone': 'Asia/Dubai'},
'Umm Al Quwain City': {'admin1code': '07',
'countrycode': 'AE',
'geonameid': 290594,
'latitude': 25.56473,
'longitude': 55.55517,
'name': 'Umm Al Quwain City',
'population': 62747,
'timezone': 'Asia/Dubai'}}
如果是这样,您可以从现有字典创建此格式的新字典。这是您可以做到的一种方法,dicc
您现有的字典在哪里。
newdic = {}
for key, val in dicc.items():
newdic[val['name']] = val
print(newdic)
推荐阅读
- java - 使用数组从文件中读取的 Java/kotlin 格式字符串
- python - Python - 通过键显示值的字典
- excel - 在 Excel 中,如何计算特定情况发生的次数?
- javascript - javascript回调中的文档实例?
- deep-learning - 简单加权嵌入网络
- java - Jackson:POJO 由 JSON 对象、字符串数组或字符串定义
- ios - iphone X中带有粘性页脚的UICollectionView,内容滚动到页脚下方的区域
- javascript - 错误对象如何捕获堆栈认为我没有在参数中传递它
- chart.js - 不要压制传奇我的图表
- android - 1 多个选项卡(片段)的演示者,或者每个选项卡都应该有演示者?