我是python的新手。我想得到每个字母的索引(位置)。我假设每个字母都有自己的位置,但这段代码显示其他明智的。显然我没有正确地做到这一点。
使用此代码,您能解释为什么此str.index(l)
会将同一个字母重复计算。我怎样才能正确获得每个字母的索引?所以"hello
“将是0,1,2,3,4
而不是0,1,2,2,4
,如下所示:
>>> def a(str):
for l in str:
print(str.index(l))
>>> a('hello')
0
1
2
2
4
>>>
答案 0 :(得分:1)
Python的index
函数返回列表中找到的对象(在您的情况下是一个字符)的最低索引(在您的情况下是一个字符串)。
如果你想获得每个字母的索引,你可能想要迭代它们的索引。
for i in range(len(str)):
print(i)
答案 1 :(得分:0)
我没有编写python,但它表现得像indexOf它返回str中第一次出现的那个字母
你写的内容被翻译为
in this str = "hello"
at this l = "h" that occurs at 0 index,
e = 1
l = 2
l = 2, because of the first occurrence left to right
o = 4
查看我能看到的文档..它可以这样写:
def a(str):
for l in range(len(str)):
print(l)
a('hello')
答案 2 :(得分:0)
str.index()
使用FAST_SEARCH
算法。 FAST_SEARCH
遍历字符串s
,查找单个字符c
的第一次出现。
str.index()
使用您的全字符串s
执行此操作,同时迭代它用于c
的每个字符,一个接一个。
这是一个很好的链接,可以看到幕后发生的一些其他有趣的C内容:http://www.laurentluce.com/posts/python-string-objects-implementation/