Python 重置for循环中的阵列位置

Python 重置for循环中的阵列位置,python,arrays,for-loop,Python,Arrays,For Loop,我想在python中达到For循环中的最后一个索引后重置数组索引位置 例子: 这里的问题是,我将收到一个索引器,说'a'列表超出范围 这是因为一个列表有23个对象,而b列表有41个对象。 如何在到达最后一项时将a索引计数重置为0,使第24个字母再次为1,第25个字母为2,依此类推 我不想继续数组索引,我想将其重置为第一个索引。您可以使用x和23之间的分隔提示作为索引使用x%23: print 1 % 23 # 1 print 22 % 23 # 22 print 23 % 23

我想在python中达到For循环中的最后一个索引后重置数组索引位置

例子: 这里的问题是,我将收到一个
索引器
,说
'a'列表超出范围

这是因为一个列表有23个对象,而b列表有41个对象。 如何在到达最后一项时将a索引计数重置为0,使第24个字母再次为1,第25个字母为2,依此类推


我不想继续数组索引,我想将其重置为第一个索引。

您可以使用
x
23
之间的分隔提示作为索引使用
x%23

print 1 % 23     # 1
print 22 % 23    # 22
print 23 % 23    # 0

因此,例如
a[x%23]
将返回
a
的第一个元素(索引为
0
)当
x
23

的倍数时,for循环中不需要有
pass
,也可以使用a或:

使用
映射

 b = map(ord,string1)
使用列表组件:

[ord(x) for x in string1]
a.index[x]
语法无效,它是
a.index(x)

但最好使用
enumerate
获取索引:

c = [b[ind % 23] - ele for ind, ele in enumerate(a)]

对不起,我注意到我的帖子没有按“最佳方式”进行格式化。希望您能理解。
b.index[x]
不是来自itertools的有效syntaxuse cycle(),谢谢,这解决了我的问题。;)如果您的问题已解决,请将答案标记为已接受。
[ord(x) for x in string1]
c = [b[ind % 23] - ele for ind, ele in enumerate(a)]