python-3.x 比较两个列表并将不存在值设置为零

weylhg0b  于 2022-12-01  发布在  Python
关注(0)|答案(2)|浏览(122)

我想将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
}

如果有人能帮助我我会很高兴

wn9m85ua

wn9m85ua1#

下面是我如何实现这一点。
首先,您可以创建一个新的字典,然后操作其中的数据

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}

fae0ux8s

fae0ux8s2#

这应该可行:

result = {key : 1 if key in lst2 else 0 for key in lst}

相关问题