2014-05-02 105 views
0

我有一個相當簡單的問題,我似乎無法弄清楚。在Python 2.7中,如何找到我要求的標題?讓我來解釋更好:查找出現在字符串中的字母的位置

假設你有一個字符串:

string = "banana" 

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

string.find("b") 

將返回0.

現在,如果我想找到所有的地方出現一個字母,如果它出現在字符串中多次,我有一個問題。例如:

string.find("a") 

會返回1,但是,它也會出現在插槽3和4中。

我在問什麼是我將能夠確定字母出現在字符串中的哪個插槽,即使它出現多次?謝謝你的時間。

回答

2

如果使用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] 
>>> 
相關問題