我正在尝试检查字典列表是否包含具有指定值的键,如果它确实包含具有此值的字典我想以该字典为目标,如果不,我想创建字典这是我的字典列表的样子my_list = [ {"name": "home", "content": "home"}, {"name": "contact", "content": "contact"}]我想检查是否my_list有一个带有键"name"和值的字典作为示例"events",它不存在所以我需要将它添加到我的列表中,如果有,我想修改字典键"content"if {"name": "events"} in my_list: list_found = my_list[index_of_the_dictonary]else: my_list.append({ "name": "events" "content": [] })
2 回答

呼如林
TA贡献1798条经验 获得超3个赞
您可以添加else到for循环来解决问题:
my_list = [
{"name": "home", "content": "home"},
{"name": "contact", "content": "contact"}
]
for x in my_list:
if x.get('name') == 'events':
print('Dictionary Found')
break
else:
my_list.append({'name': 'events', 'content': []})
print(my_list)
# [{'name': 'home', 'content': 'home'}, {'name': 'contact', 'content': 'contact'}, {'name': 'events', 'content': []}]
一个else以for仅当循环执行for循环而不正常执行到其完成即break。
添加回答
举报
0/150
提交
取消