当字符串索引超出范围时,如何使字符串索引循环

时间:2016-07-05 00:18:49

标签: python

假设我有这个字符串:

myString = 'abcdefghijklmnopqrstuvwxyz'

如果我要求myString [26],我会收到一个错误,说字符串索引超出范围。只有myString [0]到myString [25]才有效。

我想要的结果是要求myString [26]并返回'a',因为我已经超过了字符串1,然后绕着'a'以圆周运动回到前面。我怎样才能做到这一点?

2 个答案:

答案 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'