【发布时间】:2014-09-24 20:27:42
【问题描述】:
我很确定它一定是愚蠢的,但是已经好几个小时没有弄明白为什么它不起作用,现在我必须知道。
我知道如何以另一种方式获得结果,但我想了解为什么这种方式不起作用的机制。
word="patata"
indeces=[]
for letter in word:
i = word.find(letter)
if i in indeces:
start = indeces.index(i)
index=word.find(letter,start)
indeces.append(index)
else:
indeces.append(i)
print indeces
问题是我想要列表indeces 以及每个字母的索引,但即使字母相同也不能重复。
【问题讨论】:
-
那么您的预期输出是什么,您会得到哪个输出?
-
我不明白你想在这里做什么。您的代码给出了
[0, 1, 2, 1, 2, 1]- 您 期望什么?您是否尝试使用this 之类的方法来获取[4, 1, 5, 2, 6, 3]? -
你只想要所有字母的索引吗?
-
indeces = range(len(word))怎么样?如果那是你想要的。 -
这看起来像是一个经典的 XY 问题。你到底想做什么?为什么你认为你想要所有字母的索引?