Python按顺序打印数组

Python按顺序打印数组,python,Python,如何从下面的数组中获得所述的输出 arr=["harry","sally","tom"] harry harry harry sally sally tom sally sally sally tom tom harry tom tom tom harry harry sally 我试过什么 >>> for i in range(len(arr)): ... print arr[i] * 3 ... print arr[i+1]*2 ... pr

如何从下面的数组中获得所述的输出

arr=["harry","sally","tom"]

harry
harry
harry
sally
sally
tom

sally
sally
sally
tom
tom
harry

tom
tom
tom
harry
harry
sally
我试过什么

>>> for i in range(len(arr)):
...     print arr[i] * 3
...     print arr[i+1]*2
...     print arr[i-1] 
... 

Traceback (most recent call last):
File "<stdin>", line 3, in <module>
IndexError: list index out of range
>>对于范围内的i(len(arr)):
...     打印arr[i]*3
...     打印arr[i+1]*2
...     打印阵列[i-1]
... 
回溯(最近一次呼叫最后一次):
文件“”,第3行,在
索引器:列表索引超出范围

使用模运算符环绕列表的开头,或使用双倍列表但使用原始长度。

使用模运算符环绕列表的开头,或使用双倍列表但使用原始长度。

您明白为什么要使用
索引器吗?想想当
i
0
时,代码试图访问
arr[i-1]
时会发生什么。我知道索引错误,我刚刚显示了我在moment@MattBall,当他试图用
i==0
访问
arr[i-1]
时,它实际上做了他想要的事情。只有
i+1
没有结束。你明白为什么你会得到一个
索引器吗?想想当
i
0
时,代码试图访问
arr[i-1]
时会发生什么。我知道索引错误,我刚刚显示了我在moment@MattBall,当他试图用
i==0
访问
arr[i-1]
时,它实际上做了他想要的事情。只有
i+1
不起作用。
>>> for i in range(len(arr)):
        print arr[i % len(arr)] * 3
        print arr[(i+1) % len(arr)] * 2
        print arr[(i+2) % len(arr)] * 1