尽管存在键,字典不返回任何内容

问题描述

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

{3456: ['TATAMOTORS'],13404: ['SUNTV'],3718: ['VOLTAS'],3499: ['TATASTEEL'],5900: ['AXISBANK'],2885: ['RELIANCE'],15083: ['ADANIPORTS'],11287: ['UPL']}

当我获得流数据时,我想知道股票是多少。例如。如果我通过 3718,我应该得到 'VOLTAS'。上面的字典永远不会改变。

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

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

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

解决方法

看起来您的 token 对象属于 str 类型,但您的键属于 int 类型:

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

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