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

问题描述

这是我的代码。我正在做一个谜题,需要第二个压缩元素的索引,但由于 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 (将#修改为@)