python - 字典中的值未更新是预期的-python
问题描述
大家好,我被字典逻辑困住了,任何人都可以帮助我
我想检查 set 中的值是否等于列表中的项目 "lll" ,如果是,将新键,字典中的值设置为 true 否则为 false
这是我的代码:
o={1, 2}
oo=[1,2,4]
lll=[{'permission_id': 1, 'permission_name': 'can_view_test'},\
{'permission_id': 2, 'permission_name': 'can_edit_test'},
{'permission_id': 4, 'permission_name': 'can_delete_test'}]
new_list=[]
dict_perm_with_true = {}
for item in lll:
dict_perm_with_true["permission_id"]=item["permission_id"]
dict_perm_with_true["permission_name"]=item["permission_name"]
for i in o:
if i ==item.get("permission_id"):
dict_perm_with_true["InThisRole"] = True
else:
dict_perm_with_true["InThisRole"] = False
new_list.append(dict_perm_with_true.copy())
print(new_list)
结果是:
[{'permission_id': 1, 'permission_name': 'can_view_test', 'InThisRole': False}, {'permission_id': 2, 'permission_name': 'can_edit_test', 'InThisRole': True}, {'permission_id': 4、'permission_name': 'can_delete_test', 'InThisRole': False}]
预期结果 :
[{'permission_id': 1, 'permission_name': 'can_view_test', 'InThisRole': True}, {'permission_id': 2, 'permission_name': 'can_edit_test', 'InThisRole': True}, {'permission_id': 4、'permission_name': 'can_delete_test', 'InThisRole': False}]
任何帮助感谢它
解决方案
检查其他方式,如果permission_id
在o
则true
其他false
o={1, 2}
oo=[1,2,4]
lll=[{'permission_id': 1, 'permission_name': 'can_view_test'},\
{'permission_id': 2, 'permission_name': 'can_edit_test'},
{'permission_id': 4, 'permission_name': 'can_delete_test'}]
new_list=[]
for item in lll:
dict_perm_with_true = {}
dict_perm_with_true["permission_id"]=item["permission_id"]
dict_perm_with_true["permission_name"]=item["permission_name"]
# check if id in set
if item.get("permission_id") in o:
dict_perm_with_true["InThisRole"] = True
else:
dict_perm_with_true["InThisRole"] = False
new_list.append(dict_perm_with_true.copy())
print(new_list)
推荐阅读
- ruby-on-rails - Ruby on rails next 按钮链接到下一个位置编号
- javascript - 如何使用 javascript 展开和折叠模板手风琴?
- r - 如何在我*不*在 lm 调用本身中使用的 R 中的 lm() 的 fit$model 中保留一个变量?
- javascript - 展开/折叠常见问题选项卡
- r - NA:检测到:用零填充 NA
- javascript - 将本机 HTML 粘贴到浏览器剪贴板
- amazon-web-services - 在云市场(AWS / GCP / Azure)上销售 SaaS 产品
- java - 我正在尝试在 Java 中渲染一个蓝色方块,但我遇到了 IllegalStateException 错误。有人能帮我吗?
- html - 使用 jQuery 显示/隐藏表单
- python - SqlAlchemy 计数表关系