[英]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.