我希望在到达python中的For循环中的最后一个索引后重置数组索引位置。
# Array 1
a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]
# string
string1 = "hello world here i am bla bla bla bla bla"
b = []
# --------------------------------------------------------------------
# Here I'm adding to a new array the odd of each letter in the string:
for each in string1:
pass
b.append(ord(each))
# --------------------------------------------------------------------
# Now I'm trying to subtract to each odd the number in the `b` array,
# the value of the number in the same position of the `a` array.
c = []
x = 0
for number in b:
pass
c.append(b.index[x] - a.index[x])
x = x + 1
这里的问题是,我会收到indexError
'a' list is out of range
的说法。
追加,因为列表有23个对象,b列表有41个。 当到达最后一个项目时,如何将索引计数重置为0,因此第24个字母将再次为1,第25个字母为2,依此类推。
我不想继续数组索引,我想将其重置为第一个索引。
答案 0 :(得分:2)
您可以使用x
将23
和x % 23
之间的区分提醒作为索引:
print 1 % 23 # 1
print 22 % 23 # 22
print 23 % 23 # 0
因此,例如,当a[x % 23]
是a
的倍数时,0
将返回x
的第一个元素(索引为23
的元素)。< / p>
答案 1 :(得分:0)