SyntaxError dict[0] 不在列表中,但列表中的 dict[0] 有效?

SyntaxError dict[0] not in list, but dict[0] in list works?

首先我使用 python3.5

我必须比较文件并编写特定行的东西,但现在遇到了问题。

我有一个标记列表,可以指定文件的行

a = ["bla", "blub"]

第二个文件是标记和相应行的字典。

b = {"bla" : "1", "blub" : "2", "nope" : "3"}

所以如果我现在这样做

for b[0] in a:
    print(b[b[0]])

我得到

1
2

就像我想要的那样,但在另一个我想做的情况下却没有

for b[0] not in a:
    print(b[b[0]])

我得到的不是 SyntaxError。 有人可以向我解释为什么这不起作用吗?也许可以找到一种方法来打印 a 中未出现的键的所有值?

提前致谢!

你想完全改变其他人提到的逻辑。要获取列表中不存在的字典中的键的值,您可以执行以下操作:

b = {"bla" : "1", "blub" : "2", "nope" : "3"}
a = ["bla", "blub"]

for x in b.keys():
  if x not in a:
    print(b[x])