我有一个列表/字典,它存储一个与数字相对应的单词,如下所示:
MSG1 3027
MEMORYSPACE 3036
NEWLINE 3037
NEG48 3038
如果用户输入单词,我的方法会检索一个数字:
def retrieve_data():
insert_data()
nb = input('Choose a label: ')
for j in data:
a=j[0]
b=j[1]
if a == nb:
print(b)
else:
print('Label not in list!')
所以我应该只得到 3036 但这是我调用该方法时得到的输出:
Choose a label: MEMORYSPACE
Label not in list!
3036
Label not in list!
Label not in list!
知道为什么要这样做吗?谢谢你
请您参考如下方法:
您正在遍历数据中的每个条目,因此它会打印数据中的每个项目。这个问题非常适合字典:
data = {'MSG1': 3027, 'MEMORYSPACE': 3036, 'NEWLINE': 3037, 'NEG48': 3038}
nb = input('Choose a label: ')
print(data.get(nb, 'Label not in list!'))
(根据下面的评论编辑,如果您仍然希望它打印“不在列表中”)
