我想找到包含该词的字典。 来自列表的Word通过循环递增。 如果您未在下面收到问题评论,请提供建议。
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")
答案 0 :(得分:4)
你确定了问题所在:
if list[i] in d == True:
list[i] in d == True
以短路方式绑定运算符in
和==
(如(list[i] in d) and (d==True)
)
由于d
与True
不同,因此全局条件始终为False
,并且似乎该字词不在字典中,而它是。{/ p>
用括号保护(有效,但丑陋):
if (list[i] in d) == True:
或使用pythonic真实测试(绝不与True
或False
进行比较,使用in d
或not in d
):
if list[i] in d:
BTW作为COLDSPEED注意到,现在该语句有效,你会在这里遇到错误,因为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)
更好吧?