Python中,仅在字符串中连续的情况下应该如何删除重复?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (104)

对于‘12233322155552’这样的字符串,通过删除重复项,我可以得到‘1235’。但我想保留的是‘1232152’,只删除连续的副本。

提问于
用户回答回答于

首先,你不能从Python中的字符串中删除任何内容

我的第一种办法是:

foo = '12233322155552'
bar = ''
for chr in foo:
    if bar == '' or chr != bar[len(bar)-1]:
        bar += chr

或者,使用上面的迭代工具提示:

''.join([ k[0] for k in groupby(a) ])
用户回答回答于

你可以做的是:

use groupby to collect neighbouring elements
extract the keys from the iterator returned by groupby
join the keys together

这一切都可以在一条干净的线上完成。

扫码关注云+社区

领取腾讯云代金券