[英]Receive KeyError but key exists in nested dictionary
当试图在我的字典中引用一个值时,我收到 KeyError,但是键(NIO)在字典中。
经过故障排除,我发现
['NIO']
<class 'str'>
创建 KeyError,但是
NIO
<class 'str'>
按预期运行程序。
我不完全理解字符串的区别,也找不到很好的解释。
上面的字符串有什么区别,如何将第一个转换为第二个?
下面的例子:
symbol = ['NIO']
holdings_data = {'BA': {'price': '122.720000', 'quantity': '1.00000000'},
'NIO': {'price': '2.440000', 'quantity': '2.00000000'}}
def trade_history(symbol, holdings_data):
symbol = str(symbol)
print(symbol)
print(type(symbol))
#symbol = 'NIO'
#print(symbol)
#print(type(symbol))
quantity = (holdings_data[symbol].get('quantity'))
print(quantity)
trade_history(symbol, holdings_data)
返回
KeyError: "['NIO']"
但加入
symbol = 'NIO'
print(symbol)
print(type(symbol))
返回
['NIO']
<class 'str'>
NIO
<class 'str'>
2.00000000
问题在于:
symbol = str(symbol)
它应该是:
symbol = str(symbol[0])
发生这种情况是因为您试图将列表更改为字符串
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.