簡體   English   中英

接收 KeyError 但鍵存在於嵌套字典中

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM