【问题标题】:compare two list and set zero for not exist value比较两个列表并为不存在的值设置零
【发布时间】:2022-11-28 00:22:39
【问题描述】:
我想将 lst2 与 lst 进行比较,并将不存在的值设置为零
lst = ['IDP','Remote.CMD.Shell','log4j']
lst2 = ['IDP']
我想在例如循环中这样输出
{
IDP:1,
Remote.CMD.Shell:0,
log4j:0
}
{
IDP:0,
Remote.CMD.Shell:0,
log4j:0
}
{
IDP:0,
Remote.CMD.Shell:0,
log4j:0
}
如果有人能帮助我,我会很高兴
【问题讨论】:
标签:
python
python-3.x
list
compare
【解决方案1】:
这是我如何实现这一目标
首先你可以创建一个新的字典,然后操作里面的数据
lst = ['IDP','Remote.CMD.Shell','log4j']
lst2 = ['IDP']
result = {}
for i in lst:
result[i] = 0
# if one of result keys is in lst2, set the value to 1
for i in lst2:
if i in result:
result[i] = 1
print(result)
结果:
{'IDP': 1, 'Remote.CMD.Shell': 0, 'log4j': 0}
【解决方案2】:
这应该有效:
result = {key : 1 if key in lst2 else 0 for key in lst}