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