python - 在数组中匹配时更新值
问题描述
当主机名是时,我想更改一个值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 并将其写回数据?
解决方案
直接分配在这里应该可以正常工作:
for item in data:
if item['hostname'] == 'c.example.com':
item['Id'] = '10'
推荐阅读
- python-3.x - 列表索引超出范围 - Python
- json - Swift JSONEncoder 使用自定义结构编码泛型类型
- python - 如何从多索引的两个元素中减去一列?
- python - 如何使用 TensorFlow 中的指定索引访问 3D 张量的元素?
- forms - Flutter:CheckboxListTile 仅选择复选框?
- asp.net-core - 与 ForgeRock 集成
- r - 使用嵌套 ifelse 语句创建两列而不是一列的 mutate 函数
- javascript - 云功能未触发,尝试查看日志时浏览器窗口也会冻结
- .net-core - 部署期间的 Pivotal .NetCore 3.1 dotnet-runtime 错误
- python - 使用 Configparser 创建类的对象?