我有一个字符串,我需要生成一个以给定分隔符结尾的所有子字符串的长度列表。
例如:string = 'a0ddb0gf0', separator = '0',所以我需要生成:lengths = [2,4,3],因为len('a0')==2, len('ddb0')=4 , 和 len('gf0')==3。
我知道它可以通过以下方式完成(例如):
separators = [index for index in range(len(string)) if string[index]==separator]
lengths = [separators[index+1] - separators[index] for index in range(len(separators)-1)]
但我需要它以极快的速度完成(在大量数据上)。为大量数据生成中间列表非常耗时。
有没有一种解决方案可以整齐快速地完成这项工作(py2.7)?