如何查找字符串中所有出现的字符的索引? [复制]

Posted

技术标签:

【中文标题】如何查找字符串中所有出现的字符的索引? [复制]【英文标题】:How to find the indexes of all occerences of a character in a string? [duplicate] 【发布时间】:2019-12-10 02:10:17 【问题描述】:

我想标题是不言自明的,不过,我会让自己更清楚。

我必须找到字符串中每个字符的索引。例如,

word = "banana"
def indexes(x, word):
    #some code
    return (list of indexes of x character in the word)

输出:

indexes('a', word)
>> [1, 3, 5]

我如何得到这个结果?

【问题讨论】:

【参考方案1】:

试试这个:

word = "banana"
def indexes(x, word):
    output = []
    for i,y in enumerate(word):
        if x == y:
            output.append(i)
    return output

output = indexes("a", word)
print(output)

【讨论】:

非常感谢您对我的帮助。您的代码肯定有效。但是当他首先回答时,我必须将其他人的解决方案标记为绿色。再次感谢您。【参考方案2】:

使用列表推导

enumerate() - 方法向一个可迭代对象添加一个计数器,并以枚举对象的形式返回它。

例如

word = "banana"
indexes = [ index for index,x in enumerate(word) if x in 'a' ]
print(indexes)

O/P:

[1, 3, 5]

【讨论】:

x == 'a' 非常感谢你。万分感激。它有效! @ParthikB。 python中in==运算符see this的行为。 @ParthikB。不客气【参考方案3】:

我会做这样的事情

word = "banana"
def indexes(x, word):
  result = []
  for idx, letter in enumerate(word):
    if letter == x:
      result.append(idx)
  return result

然后

indexes('a', word)
[1, 3, 5]

【讨论】:

以上是关于如何查找字符串中所有出现的字符的索引? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在JavaScript中查找一个字符串中所有出现的索引?

如何在目录树中递归查找和替换所有出现的字符串? [复制]

java之字符串中查找字串的常见方法

如何在 JavaScript 中找到一个字符串在另一个字符串中所有出现的索引?

如何在字符串中查找多个子字符串并将它们添加到列表中? [复制]

如何获取在字符串中多次出现的单词的多个索引? [复制]