如何将数字字符串除以它们的值?

时间:2018-07-21 02:04:22

标签: python split digits continuous

我有一个如下所示的数字字符串。

s =“ 1123433364433”

我想要像这样分割连续相同值的结果列表。 您无法更改原始数字的位置。

结果= [“ 11”,“ 2”,“ 3”,“ 4”,“ 333”,“ 6”,“ 44”,“ 33”]

最简单的方法是什么?

2 个答案:

答案 0 :(得分:6)

使用itertools.groupby

from itertools import groupby
s = "1123433364433"
print([''.join(i) for _, i in groupby(s)])

这将输出:

['11', '2', '3', '4', '333', '6', '44', '33']

答案 1 :(得分:1)

您也可以使用模块C

re

输出:

import re
s = "1123433364433"
print([v[0] for v in re.finditer(r'(.)\1*', s)])