python去掉字符串中重复字符or删除数字以外的字符的方法

目录

一、去掉字符串中重复字符

(一)不考虑字符的顺序

(二)考虑字符的顺序

二、删除数字以外的字符

(一)使用正则表达式

(二)使用过滤器


一、去掉字符串中重复字符

(一)不考虑字符的顺序

string = "abbcc"
"".join(set(string))

(二)考虑字符的顺序

from collections import OrderedDict

string = 'abbcc'
print "".join(OrderedDict.fromkeys(string))

 OrderedDict会根据放入元素的先后顺序对字典对象中元素的排序,不过采用.fromkeys方法也可以对string、list进行操作。

 

二、删除数字以外的字符

(一)使用正则表达式

import re

a = re.sub("\D", "", "aas30dsa20")
print(a)


'3020'

\D 匹配任何非数字字符,因此,上面的代码实质上是将每个非数字字符替换为空字符串。

有关正则表达的更多内容,可以参考 正则表达

(二)使用过滤器

# 在Python 2.x中

a = filter(lambda x: x.isdigit(), "aas30dsa20")
print(a)

'3020'


# 由于在Python 3.x中,filter返回的是迭代器而不是list,因此使用以下代码

a = ''.join(filter(lambda x: x.isdigit(), "aas30dsa20"))
print(a)

'3020'

 


版权声明:本文为weixin_44447680原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。