如何在python3中拆分字符串以合并重复项

2024-04-25 21:32:32 发布

您现在位置:Python中文网/ 问答频道 /正文

如何按以下方式拆分字符串:

a = "111554222117"

我的目标是把绳子分成几段,在这里连续不断的重复会组合在一起。输出将是一个列表

b = ['111','55','4','222','11','7']

注:not工具可以像itertools一样使用,因为这是一个面试问题。你知道吗

我的尝试是使用至少两个for循环,但效果不佳。如何只使用一个loop。你知道吗

谢谢。你知道吗


Tags: 工具字符串loop目标列表for方式not
2条回答
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)

你可以这样做:

>>> import itertools
>>> [''.join(data) for _, data in itertools.groupby("111554222117")]
['111', '55', '4', '222', '11', '7']

相关问题 更多 >