我有一个相当简单的问题,我似乎无法弄明白。如何在Python 2.7的标题中找到我要求的内容?让我解释一下:
假设你有一个字符串:
string = "banana"
我知道如果字母在字符串中出现一次,你将如何找到它的位置,例如:
string.find("b")
会返回0。
现在,如果我想找到一个字母,如果它出现在字符串中不止一次,那么我就有问题了。例如:
string.find("a")
将返回1,但是,它也会出现在插槽3和4中。
我要问的是,即使它出现多次,我怎么能确定一个字母出现在字符串中的哪个插槽?谢谢你的时间。
答案 0 :(得分:3)
如果您使用list comprehension和enumerate
,则可以获得某个字符出现的索引列表:
>>> 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]
>>>