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)),或将密钥转换为字符串。