我有一个字典列表,我想循环它们并替换其中的一个值。我要替换的值是一个字典,我想用同一个字典中的一个值替换它。
下面是列表中的字典之一。
{'id': '123abc',
'name': 'Metrics',
'rows': 0,
'columns': 0,
'owner': {'id': 123, 'name': 'John Doe'},
'dataCurrentAt': '2017-03-24T14:32:33Z',
'createdAt': '2017-03-24T14:32:33Z',
'pdpEnabled': False}因此,我试图用“所有者”字典中的“名称”替换整个“所有者”值。我希望这是有意义的。下面是Python脚本中我尝试这样做的部分。
for dictionary in dataset_list:
for key, value in dictionary.items():
if key == "owner":
owner = value.get("name")
value = owner发布于 2018-02-02 11:46:52
如果我对你的理解是正确的,你需要做的就是:
dictionary["owner"] = dictionary["owner"]["name"]这将将键“所有者”的值更改为键"name“的值。
发布于 2018-02-02 11:47:19
A = {'id': '123abc', 'name': 'Metrics', 'rows': 0, 'columns': 0, 'owner': {'id': 123, 'name': 'John Doe'}, 'dataCurrentAt': '2017-03-24T14:32:33Z', 'createdAt': '2017-03-24T14:32:33Z', 'pdpEnabled': False}
A["owner"] = A["owner"]["name"]
print A输出:
{'rows': 0, 'createdAt': '2017-03-24T14:32:33Z', 'name': 'Metrics', 'pdpEnabled': False, 'owner': 'John Doe', 'id': '123abc', 'columns': 0, 'dataCurrentAt': '2017-03-24T14:32:33Z'}发布于 2018-02-02 11:50:17
你可以试试:
>>> dataset_list = {'id': '123abc', 'name': 'Metrics', 'rows': 0, 'columns': 0, 'owner': {'id': 123, 'name': 'John Doe'}, 'dataCurrentAt': '2017-03-24T14:32:33Z', 'createdAt': '2017-03-24T14:32:33Z', 'pdpEnabled': False}
>>> for k,v in dataset_list.iteritems():
if k == "owner":
owner = v["name"]
dataset_list[k] = owner
>>> dataset_list
{'rows': 0, 'createdAt': '2017-03-24T14:32:33Z', 'name': 'Metrics', 'pdpEnabled': False, 'owner': 'John Doe', 'id': '123abc', 'columns': 0, 'dataCurrentAt': '2017-03-24T14:32:33Z'}https://stackoverflow.com/questions/48582004
复制相似问题