Python 遍历不同长度的多个列表时超出索引

Python 遍历不同长度的多个列表时超出索引,python,list,Python,List,我正在做一个python挑战,要求我遍历多个列表,一次遍历一个元素,并根据它返回一些计算。我有如下清单: a = [2,3,4,5] b = [7,8,9,0,7] c = [a, b] 我需要以列的方式遍历它们,如下所示: 2 3 4 7 8 9... 我已经看到,由于itertools,你们中的许多人都能够做到这一点,但我无法导入任何库。我的问题是,在我当前的解决方案中,我的第二个索引超出了大于当前列表元素的值的范围,并且我无法找到不发生这种情况的条件。 我已经尝试过将列表切分,但我认为

我正在做一个python挑战,要求我遍历多个列表,一次遍历一个元素,并根据它返回一些计算。我有如下清单:

a = [2,3,4,5]
b = [7,8,9,0,7]
c = [a, b]
我需要以列的方式遍历它们,如下所示:

2 3 4
7 8 9...
我已经看到,由于itertools,你们中的许多人都能够做到这一点,但我无法导入任何库。我的问题是,在我当前的解决方案中,我的第二个索引超出了大于当前列表元素的值的范围,并且我无法找到不发生这种情况的条件。 我已经尝试过将列表切分,但我认为如果我不这样做,我会更快。这是我的代码供参考,玩家[i][rounds]以我前面描述的列样式返回

while not(0 in dim_hands):
        for i in range(0, 4):
            if rounds > len(players[i]):
                #do something
        
            word = (players[i][rounds])
            num_letters = num_letters - word
        
            if num_letters < 0:
                dim_hands[i] -= abs(num_letters)
                num_letters = 0

        rounds += 1
而不是(0在dim_手中):
对于范围(0,4)内的i:
如果轮数>len(玩家[i]):
#做点什么
word=(玩家[i][rounds])
num_字母=num_字母-单词
如果字母数小于0:
dim_hands[i]=abs(num_字母)
字母数=0
回合数+=1

还有别的办法吗?谢谢大家!

如您所述,使用
itertools
numpy
会快得多,但由于您不能使用任何导入,让我们用老式的方法解决它:

我们将从准备要迭代的数据长度开始,我们将使其成为两个列表之间的最小长度,这样我们就不会出现异常:

min_length = min(len(a), len(b))
然后我们将迭代长度并一次打印两个数组:

for i in range(min_length):
    print(f'{a[i]}, {b[i]}')
这样我们保证只在两个数组中的位置打印元素

我希望这就是您的目标,如果不是,请详细说明,我会解决:)