我想查找字典是否包含该单词。
来自列表的单词通过循环递增。
如果您没有在下面收到问题评论,请提出建议。
n = int(input())
d = {}
for i in range(n):
text = input().split()
d[text[0]] = text[1]
list = []
for i in range(n):
list.append(input())
for i in range(n):
***`if list[i] in d == True:`***
print(d[i])
else:
print("Not Found")
您指出了问题所在:
if list[i] in d == True:
list[i] in d == True
连锁经营者in
and ==
以短路方式(如(list[i] in d) and (d==True)
)
Since d
不同于True
,全局条件总是False
字典里好像没有这个词,但其实它有。
要么用括号保护(有效,但丑陋):
if (list[i] in d) == True:
或使用 pythonic 真实测试(切勿与True
or False
无论如何,使用in d
or not in d
):
if list[i] in d:
顺便说一句,正如 COLDPEED 所指出的,现在该语句有效,您将在此处遇到错误,因为d
没有整数键:
print(d[i]) # d[list[i]] would be correct (but ugly)
因此,重写你的循环,在你使用它时摆脱索引,直接迭代元素(并摆脱list
作为变量,因为这是list
类型,切换到l
):
for item in l:
if item in d:
print(item)
更好吧?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)