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

如果循环中有另一个元素要迭代,则无法迭代范围这是为什么?

如何解决如果循环中有另一个元素要迭代,则无法迭代范围这是为什么?

这是我的代码。我正在做一个谜题,需要第二个压缩元素的索引,但由于 goals2.index(j) 只返回第一次出现,我尝试使用同时迭代的范围:

def best_match(goals1,goals2):
    a = [goals1[0] - goals2[0],goals2[0]]
    for (i,j),k in zip(goals1,goals2),range(len(goals2)):
        if i - j < a[0]:
            a[0] = i - j
            a[1] = k
            a[2] = j
        if i - j == a[0] and j > a[2]:
            a[1] = k
            a[2] = j
    return a[1]

但是,当解释器到达代码for 部分时,它给了我一个错误,说 int 对象不可迭代,当范围明确时是 iterable。只有当我使用 range 作为迭代器之一迭代多个值时,它才不起作用。

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