首页 > 解决方案 > 在数组中匹配时更新值

问题描述

当主机名是时,我想更改一个值c.example.com

样本数据:

[
  {
    "hostname": "a.example.com",
    "Id": "1"
  },
  {
    "hostname": "b.example.com",
    "Id": "2"
  },
  {
    "hostname": "c.example.com",
    "Id": "1"
  },
  {
    "hostname": "d.example.com",
    "Id": "1"
  }
]

我可以匹配项目

data=[{"hostname":"a.example.com","Id":"1"},{"hostname":"b.example.com","Id":"2"},{"hostname":"c.example.com","Id":"1"},{"hostname":"d.example.com","Id":"1"}]
for item in data:
    if item['hostname'] == 'c.example.com':
          # how to update its id to 10 and write it back to data

如何将其 id 更新为 10 并将其写回数据?

标签: pythonjsonlistdictionaryfor-loop

解决方案


直接分配在这里应该可以正常工作:

for item in data:
    if item['hostname'] == 'c.example.com':
        item['Id'] = '10'

推荐阅读