查找出现在字符串中的字母的位置

时间:2014-05-02 22:58:01

标签: python python-2.7

我有一个相当简单的问题,我似乎无法弄明白。如何在Python 2.7的标题中找到我要求的内容?让我解释一下:

假设你有一个字符串:

string = "banana"

我知道如果字母在字符串中出现一次,你将如何找到它的位置,例如:

string.find("b")

会返回0。

现在,如果我想找到一个字母,如果它出现在字符串中不止一次,那么我就有问题了。例如:

string.find("a")

将返回1,但是,它也会出现在插槽3和4中。

我要问的是,即使它出现多次,我怎么能确定一个字母出现在字符串中的哪个插槽?谢谢你的时间。

1 个答案:

答案 0 :(得分:3)

如果您使用list comprehensionenumerate,则可以获得某个字符出现的索引列表:

>>> string = "banana"
>>>
>>> list(enumerate(string))  # Just to demonstrate
[(0, 'b'), (1, 'a'), (2, 'n'), (3, 'a'), (4, 'n'), (5, 'a')]
>>>
>>> [x for x,y in enumerate(string) if y == 'a']
[1, 3, 5]
>>> [x for x,y in enumerate(string) if y == 'n']
[2, 4]
>>>