找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2839|回复: 4

[已解决] 字符串去重

5

主题

10

帖子

10

积分

贫民

积分
10
tongxue 发表于 2017-11-20 07:21:24 | 显示全部楼层 |阅读模式
想问一个简单的问题   例如s = 'aabbcdab' , 想求出结果为 s = 'abcdab',而不是abcd, 意思就是去除连续相同, 而不是所有相同的,应该怎样写呢, 谢谢
回复

使用道具 举报

2

主题

219

帖子

219

积分

版主

Rank: 7Rank: 7Rank: 7

积分
219

热心会员默默耕耘优秀版主

剑心无痕 发表于 2017-11-20 08:35:16 | 显示全部楼层
s = 'aabbcdab'
res = [s[0]]
for i in s:
    if i != res[-1]:
        res.append(i)
s = ''.join(res)
回复 支持 1 反对 0

使用道具 举报

0

主题

2

帖子

2

积分

贫民

积分
2
Ashin 发表于 2017-11-20 12:11:58 | 显示全部楼层
s = 'aabbcdab'
result = []
for index,item in enumerate(s):
    if (index+1) != len(s) and item == s[index + 1]:
        pass
    else:
        result.append(item)

print("".join(result))
回复 支持 反对

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2017-11-20 17:37:10 | 显示全部楼层
剑心无痕 发表于 2017-11-20 08:35
s = 'aabbcdab'
res = [s[0]]
for i in s:

回复 支持 反对

使用道具 举报

4

主题

24

帖子

24

积分

贫民

积分
24
pythonCXZ 发表于 2017-11-22 10:55:40 | 显示全部楼层
这样行不行?用itertools

for i in itertools.groupby(s):
    print i[0],

a b c d a b
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表