让我用一个真实的代码示例来说明我的问题:
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!
遍历此消息时如何获得角色位置?
答案 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)