12

给定一个长字符串,例如:

"fkjdlfjzgjkdsheiwqueqpwnvkasdakpp"

或者

"0.53489082304804918409853091868095809846545421135498495431231"

如何找到该字符串中第 n 个字符的值?如果我可以将其转换为列表(每个数字都有自己的索引),我可以解决这个问题,但由于数字不是用逗号分隔的,我也不知道该怎么做。

AFAIK 没有类似的命令string.index(10)会返回第 11 个字符。

4

3 回答 3

19

字符串就像列表。所以你可以用同样的方式访问它们,

>>> a = "fkjdlfjzgjkdsheiwqueqpwnvkasdakpp"
>>> print a[10]
k
于 2012-08-07T10:06:20.070 回答
5

字符串是可迭代和可索引的(因为它是一个序列类型),所以你可以使用:

"fkjdlfjzgjkdsheiwqueqpwnvkasdakpp"[10]
于 2012-08-07T10:04:33.340 回答
2

要获取nth值中的对应字符,只需使用此函数:

def getchar(string, n):
    return str(string)[n - 1]

示例用法:

>>> getchar('Hello World', 5)
'o'
于 2017-11-10T06:39:34.787 回答