用索引遍历字符串中的字符

时间:2019-12-23 19:05:42

标签: python

让我用一个真实的代码示例来说明我的问题:

message = "hello"
for char in message:
    print(char)

此程序输出为:

h
e
l
l
o

但是我想知道角色的位置。当我使用str.index()时,它变成:

message = "hello"
for char in message:
    print(char, message.index(char))

输出:

h 0
e 1
l 2
l 2
o 4

L位置是2,而不是2和3! 遍历此消息时如何获得角色位置?

5 个答案:

答案 0 :(得分:4)

.index()在给定列表中找到元素的 first 索引。如果它出现多次,则仅返回第一次出现的情况。

如果要获取元素对及其各自的索引,则可以使用内置函数enumerate()

for idx, char in enumerate(message):
    print(char, idx)

答案 1 :(得分:1)

使用enumerate

message = "hello"
for count, char in enumerate(message):
    print(char, count)

答案 2 :(得分:1)

尝试一下:

message = "hello"
for i, char in enumerate(message):
    print(char, i)

答案 3 :(得分:1)

我用枚举调整了您的代码,这应该可以工作

    message = "hello"
    for index,char in enumerate(message):
        print(char,index)

您可以在官方python文档或here

中找到有关此文档的一些文档。

答案 4 :(得分:1)

for i,char in enumerate(message):
    print(char,i)