Python 不管字典中是否存在键,它都返回none

Python 不管字典中是否存在键,它都返回none,python,dictionary,keyerror,Python,Dictionary,Keyerror,在我的程序开始时,我正在循环加载我的字典。 它包含以下值 {3456: ['TATAMOTORS'], 13404: ['SUNTV'], 3718: ['VOLTAS'], 3499: ['TATASTEEL'], 5900: ['AXISBANK'], 2885: ['RELIANCE'], 15083: ['ADANIPORTS'], 11287: ['UPL']} 当我得到流媒体数据时,我想知道什么是股票。对于egs。如果我通过3718,我会得到“沃尔特斯”。上述词典从未更改 我的代

在我的程序开始时,我正在循环加载我的字典。 它包含以下值

{3456: ['TATAMOTORS'], 13404: ['SUNTV'], 3718: ['VOLTAS'], 3499: ['TATASTEEL'], 
5900: ['AXISBANK'], 2885: ['RELIANCE'], 15083: ['ADANIPORTS'], 11287: ['UPL']}
当我得到流媒体数据时,我想知道什么是股票。对于egs。如果我通过3718,我会得到“沃尔特斯”。上述词典从未更改

我的代码如下。流数据是json。并正确获取令牌

token=stream_data['response']['data']['sym'].replace('_NSE','').strip()
print(token)
print(imp.dictoftokens)
stock = imp.dictoftokens.get(token)

我做错了什么?我在控制台中保存了它,并手动传递了一个令牌,它工作正常。

看起来您的
令牌
对象的类型是
str
,但您的密钥的类型是
int

将令牌的类型更改为
int
,它应按预期工作:

token=int(stream_data['response']['data']['sym'].replace('_NSE','').strip())

请发布提示:不要让
print
迷惑你。使用
print(repr(thing))
。dict中的键是整数/数字,令牌是字符串。尝试.get(int(token)),或将密钥转换为字符串。