如何在Python中更改嵌套字典中键的值

时间:2018-06-22 12:48:47

标签: python list dictionary data-structures

{
 {'city':1 ,'person':{'name': 'John', 'age': '27'}},
 {'city':2 ,'person':{'name': 'Marie', 'age': '22'}},
 {'city':3 ,'person':{'name': 'Luna', 'age': '24'}},
 {'city':4 ,'person':{'name': 'Peter', 'age': '29'}}
}

如何更改城市2中人员的年龄?

我的问题的第二部分是在这种情况下,在Python中哪种数据结构最相关

1 个答案:

答案 0 :(得分:4)

您最好使用字典列表,并将age设为整数:

data = [
 {'city':1, 'person': {'name': 'John', 'age': 27}},
 {'city':2, 'person': {'name': 'Marie', 'age': 22}},
 {'city':3, 'person': {'name': 'Luna', 'age': 24}},
 {'city':4, 'person': {'name': 'Peter', 'age': 29}}
]
person_by_city_id = {item['city_id']: item['person'] for item in data}
person_by_city_id[2]['age'] = 23

但是数据方案很奇怪(如果我们有两个人来自一个城市,那该怎么办?我们需要更改哪个年龄段?)