簡體   English   中英

查找列表中相同元素的索引

[英]Finding index of the same elements in a list

假設我必須在“互聯網”一詞中找到字母'e'的每個索引:

letter = 'e'
word = 'internet'
idx = word.index(letter)

但是這段代碼只給出了第一個索引。 我怎樣才能找到其余的?

嘗試在列表解析中使用枚舉

[index for (index, letter) in enumerate(word) if letter == 'e']

馬克的答案對於一封信來說更好。 我正在添加它,以防你的真實子串長於一個字符。

如果要使用str.index() ,它可以采用可選的start位置,如果找不到所需的子字符串,則會raise ValueError

>>> letter = 'e'
>>> word = 'internet'
>>> last_index = -1
>>> while True:
...     try:
...         last_index = word.index(letter, last_index + 1)
...         print last_index
...     except ValueError:
...         break
... 
3
6

嘗試這個:

word = 'internet'
letter = 'e'
[i for i in xrange(len(word)) if word[i] == letter]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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