假设我有这个字符串:
myString = 'abcdefghijklmnopqrstuvwxyz'
如果我要求myString [26],我会收到一个错误,说字符串索引超出范围。只有myString [0]到myString [25]才有效。
我想要的结果是要求myString [26]并返回'a',因为我已经超过了字符串1,然后绕着'a'以圆周运动回到前面。我怎样才能做到这一点?
答案 0 :(得分:5)
使用modulo。
myString = 'abcdefghijklmnopqrstuvwxyz'
def access_char(string, i):
return string[i % len(string)]
print(access_char(myString, 57))
# >>> f
这也适用于任何其他序列数据类型(列表,元组等)
答案 1 :(得分:4)
您只需要myString[<index> % len(myString)]
。 <index>
将是任何将成为索引的整数。
例如:
myString[26 % len(myString)]
>>> 'a'