尝试在字典中引用值时,我收到KeyError,但是密钥(NIO)在字典中。
排查故障时,我发现
NIO
<class 'str'>
创建KeyError,但是
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
返回
$(eval ..)
答案 0 :(得分:0)
问题出在那一行:
java_test
应该是:
symbol = str(symbol)
发生这种情况是因为您试图将列表更改为字符串