接收密钥错误,但嵌套字典中存在密钥

2024-09-27 01:30:27 发布

您现在位置:Python中文网/ 问答频道 /正文

当尝试引用字典中的值时,我收到keyrerror,但是该键(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

Tags: 字符串data字典typesymbolpricehistoryquantity
1条回答
网友
1楼 · 发布于 2024-09-27 01:30:27

问题在于:

symbol = str(symbol)

应该是:

symbol = str(symbol[0])

这是因为您试图将列表更改为字符串

相关问题 更多 >

    热门问题