我想在主机名为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并将其写回数据?
答案 0 :(得分:1)
直接分配在这里应该可以正常工作:
for item in data:
if item['hostname'] == 'c.example.com':
item['Id'] = '10'
答案 1 :(得分:1)
你可以试试这个:
sample_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 sample_data:
if item['hostname'] == "c.example.com":
item['Id'] = 10
print(sample_data)
说明:
使用for-loop
迭代元素并使用if
搜索c.example.com
。如果匹配使用=
运算符,则为Id
输出:
[{'hostname': 'a.example.com', 'Id': '1'}, {'hostname': 'b.example.com', 'Id': '2'}, {'hostname': 'c.example.com', 'Id': 10}, {'hostname': 'd.example.com', 'Id': '1'}]
答案 2 :(得分:1)
使用item['Id'] = 10
?
for item in data:
if item['hostname'] == 'c.example.com':
item['Id'] = 10