使用Python迭代前缀

Jas*_*n S 3 python iterator

我有一个分层描述符字符串,看起来像foo:bar:baz层次结构中的元素被分隔:,我想迭代层次结构级别.有没有一种简单的方法可以做到这一点,比这更简单:

def hierarchy(s):
  segments = s.split(':')
  for i in range(len(segments)):
    prefix = ':'.join(segments[0:i+1])
    print prefix  
    # or do something else instead of prefix
Run Code Online (Sandbox Code Playgroud)

NPE*_*NPE 7

怎么样:

In [9]: [s[:m.start()] for m in re.finditer(':|$', s)]
Out[9]: ['foo', 'foo:bar', 'foo:bar:baz']
Run Code Online (Sandbox Code Playgroud)