微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试对OrderedDict进行迭代时,错误无法解包不可迭代

如何解决尝试对OrderedDict进行迭代时,错误无法解包不可迭代

我正在尝试遍历python 3.9上的OrderedDict,但是当我得到时:

对于键,d中的值: TypeError:无法解压缩不可迭代的int对象,请执行for bucle

这是我的代码

MAXSIZE = 5
d = dict()

while True:

    candles = api.get_candles(EURUSD,5,1,time.time())

    candleOpen = float(candles[0]['open'])
    candleClose = float(candles[0]['close'])

    candleID = candles[0]['id']
                
    if candleOpen < candleClose:            
        d2 = {candleID: 'A'}

    elif candleOpen > candleClose:          
        d2 = {candleID: 'B'}
        
    else:
        d2 = {candleID: 'C'}            
    
    if len(d) == MAXSIZE:
        for key,value in d:
            print(key)

解决方法

要遍历字典对,请使用.items()

# print(type(d)) to ensure you have a dict
for key,value in d.items():
    print(key)

您似乎也有一个字典d,但是随后您创建了另一个字典d2,请检查;)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。