Joe*_*Joe 2 python dictionary list
我有以下两个列表:
A = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
B = ['b', 'd', 'f', 'g']
Run Code Online (Sandbox Code Playgroud)
我想检查其中的元素B是否在Athen 0else 中1。预期的输出应该是这样的:
{'C': [0, 1, 0, 1, 0, 1, 1]}
Run Code Online (Sandbox Code Playgroud)
我尝试了以下但没有得到我所期望的。
{'C': [int(i == j) for j in A] for i in B}
Run Code Online (Sandbox Code Playgroud)
正如@Boris 提到的,set(B)如果列表很长,使用会快得多。
{'C': [int(value in set(B)) for value in A] }
Run Code Online (Sandbox Code Playgroud)
输出 :
{'C': [0, 1, 0, 1, 0, 1, 1]}
Run Code Online (Sandbox Code Playgroud)