簡體   English   中英

如何在沒有重復結果的情況下從python中的字符串獲取索引位置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM