如何通过以下方式分割字符串:
a = "111554222117"
我的目标是将字符串分成几部分,其中连续的重复将分组在一起。输出将是一个列表
b = ['111','55','4','222','11','7']
PS:不能使用itertools
之类的工具,因为这是一个面试问题。
我的尝试是至少使用两个for
循环,但这是无效的。如何仅使用一个loop
。
谢谢。
答案 0 :(得分:1)
您可以这样做:
>>> import itertools
>>> [''.join(data) for _, data in itertools.groupby("111554222117")]
['111', '55', '4', '222', '11', '7']
答案 1 :(得分:1)
a = "111554222117"
b = []
s = a[0]
for i in range(1,len(a)):
if a[i] == s[0]:
s += a[i]
else:
b.append(s)
s = a[i]
b.append(s)