[英]How to get index position from a string in python without repetitive results
而在一個for循環string
,我想要得到的index
在該特定字母的位置string
,但如果有相同的字母這個詞,這是行不通的。
我遍歷string
的字母並獲得了由唯一字母組成的string
的字母的index
位置(通過使用.find()
或.index()
),但如果string
包含相同的字母,則索引只會是出現在string
中的第一個字母的位置。
indexList = [] #list of stored indexes
word = "grocery" #could be any string, just using "grocery" as an example
for letter in word:
index = word.find(letter)
indexList.append(index)
print (indexList)
#Expected output: [0, 1, 2, 3, 4, 5, 6]
#Actual output: [0, 1, 2, 3, 4, 1, 6]
5 和 1 index
位置具有相同的字母 ("r"),因此.find()
和.index()
方法只是添加 1 而不是 5,因為它是string
的第一個 "r"。 我想知道是否有任何方法可以獲得指定字母在單詞中的位置。 請幫忙。 謝謝!
Find
接受兩個可選參數: start
(默認為 0)和end
(默認為字符串的結尾 - 適合您的情況)。 使用 enumerate 包含起點:
for i, letter in enumerate(word):
index = word.find(letter, i)
indexList.append(index)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.