Python 重置for循环中的阵列位置
我想在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
索引器
,说'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)]