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])
首先我使用 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])