我有这样一句话:
{'d': {'BidVolume1': 0, 'BidPrice1': 0.0, 'BidVolume2': 0, 'BidPrice2': 0.0, 'BidVolume3': 0, 'BidPrice3': 0.0, 'BidVolume4': 0, 'BidPrice4': 0.0, 'BidVolume5': 0, 'BidPrice5': 0.0, 'AskTotalVolume': 0}}
当我尝试这个代码时
^{pr2}$我收到以下错误消息:
TypeError: tuple indices must be integers or slices, not str
我要做的是对程序说,用BidTotalVolume
键给我这个项的值。在
我该怎么做?为什么我会收到这个错误消息?在
正如评论中建议的那样,使用
for key, values in d.items():
as items()返回(key,value)的元组。对于仅键,可以使用keys(),对于仅值,可以使用values()首先,字典中似乎没有bidtotalvolume键。在
第二,你想做的是或多或少:
你的字典没有3个级别,所以这永远行不通。在
我想你的意思是:
^{pr2}$这将失败,因为BidTotalVolume不在词典中。但只要有钥匙就可以了。在
r[d]
是{'BidVolume1': 0, 'BidPrice1': 0.0, 'BidVolume2': 0, 'BidPrice2': 0.0, 'BidVolume3': 0, 'BidPrice3': 0.0, 'BidVolume4': 0, 'BidPrice4': 0.0, 'BidVolume5': 0, 'BidPrice5': 0.0, 'AskTotalVolume': 0}
,所以它是一个字典。在现在你在这样的字典上迭代:
^{pr2}$key
名称有误导性。这里的key
是一个tuple
的键和值。当试图在那个元组上使用[]
时,会出现错误。您应该像这样直接访问数据:相关问题 更多 >
编程相关推荐