Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 记录字符串中重复元素的位置_Python_String - Fatal编程技术网

Python 记录字符串中重复元素的位置

Python 记录字符串中重复元素的位置,python,string,Python,String,我正在为乐谱编写自己的解析器,这只是为了好玩的学术练习 所以,如果我有一个字符串,比如和弦级数: In [1]: string = ' A D F#;m B;m F#;m' 我对找到每个和弦的弦位置感兴趣,我可以做,例如: In [3]: string.index('D') Out[3]: 12 但是,如果我尝试查找重复元素的索引,例如F#;m,输出将为: In [4]: string.index('F#;m') Out[4]: 15 然而,F#出现

我正在为乐谱编写自己的解析器,这只是为了好玩的学术练习

所以,如果我有一个字符串,比如和弦级数:

In [1]: string = ' A          D  F#;m        B;m    F#;m'
我对找到每个和弦的弦位置感兴趣,我可以做,例如:

In [3]: string.index('D')
Out[3]: 12
但是,如果我尝试查找重复元素的索引,例如
F#;m
,输出将为:

In [4]: string.index('F#;m')
Out[4]: 15
然而,F#出现了两次;m、 一个在位置15,一个在位置34

是否有其他方法记录每个和弦在字符串中的位置,尤其是当同一元素在字符串中出现两次时有效的方法?

使用:


我明白了,谢谢你,马丁!非常有帮助,非常感谢!
>>> import re
>>> s = ' A          D  F#;m        B;m    F#;m'
>>> [m.start() for m in re.finditer('F#;m', s)]
[15, 34]