书写
'1000011'.split('1')
给出
['', '0000', '', '']
我想要的是:
['1', '0000', '11']
我如何实现这一目标?
答案 0 :(得分:2)
str.split(sep)
方法不会将sep
分隔符添加到输出列表。
您希望分组字符串字符,例如使用itertools.groupby
:
In: import itertools
In: [''.join(g) for _, g in itertools.groupby('1000011')]
Out: ['1', '0000', '11']
我们没有指定key
参数,默认的key
函数只返回元素不变。 g
就是key
个字符组。
答案 1 :(得分:0)
您可以使用正则表达式:
>>> re.findall(r'0+|1+','1000011')
['1', '0000', '11']