繁体   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