【发布时间】:2018-07-10 01:43:58
【问题描述】:
我正在使用嵌套字典,并试图弄清楚如何有效地修改某些嵌套和非嵌套键/值。简而言之,我正在尝试执行以下操作:
- 获取嵌套值并使用非嵌套键切换它
- 重命名嵌套键。
这是我正在使用的字典的基本示例:
pet_dictionary = {'Buford':{'color':'white', 'weight': 95, 'age':'3',
'breed':'bulldog'},
'Henley':{'color':'blue', 'weight': 70, 'age':'2',
'breed':'bulldog'},
'Emi':{'color':'lilac', 'weight': 65, 'age':'1',
'breed':'bulldog'},
}
我想取非嵌套键,即每只狗的名字(即 Buford、Henley、Emi),用年龄的嵌套值(即 3、2、1)切换它,然后更改嵌套从“年龄”到“姓名”的键名。所以输出应该是这样的:
pet_dictionary = {'3':{'color':'white', 'weight': 95, 'name':'Buford',
'breed':'bulldog'},
'2':{'color':'blue', 'weight': 70, 'name':'Henley',
'breed':'bulldog'},
'1':{'color':'lilac', 'weight': 65, 'name':'Emi',
'breed':'bulldog'},
}
我了解如何逐一手动执行此操作,但我不确定以更优雅/最佳方式进行所有这些更改的最佳方法是什么。
【问题讨论】:
-
请注意,从概念上讲,您不能更改字典中的键:如果您完全修改原始键,则必须删除旧的键值关联并添加一个新的(具有相同的值)。
标签: python dictionary nested