这篇文章给大家分享的是有关python过滤数字的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

本文实例总结了Python实现简易过滤删除数字的方法。分享给大家供大家参考,具体如下:

如果想从一个含有数字,汉字,字母的列表中滤除仅含有数字的字符,当然可以采取正则表达式来完成,但是有点太麻烦了,因此可以采用一个比较巧妙的方式:

1、正则表达式解决

importreL=[u'小明','xiaohong','12','adf12','14']foriinrange(len(L)):ifre.findall(r'^[^\d]\w+',L[i]):printre.findall(r'^\w+$',L[i])[0]elifisinstance(L[i],unicode):printL[i]

2、巧妙地避开正则表达式

L=['xiaohong','12','adf12','14',u'晓明']forxinL:try:int(x)except:printx

3、使用string内置方法

L=['xiaohong','12','adf12','14',u'晓明']#对于python3来说同样还可以使用string.isnumeric()方法forxinL:ifnotx.isdigit():printx

4、去除两端的数字

如果只是去除两端可能含有数字的字符串里的数字,则可以使用内置的strip,方式如下:

In[24]:importstringIn[25]:astring='12313213215justfor32test1306436'In[26]:astring.strip(string.digits)Out[26]:'justfor32test'In[27]:astring.rstrip(string.digits)Out[27]:'12313213215justfor32test'In[30]:astring.lstrip(string.digits)Out[30]:'justfor32test1306436'#注意In[31]:astringOut[31]:'12313213215justfor32test1306436'In[32]:astring.strip('0123456')Out[32]:'justfor32test'

.strip([char]) 中的 char 给定时,则截取两端的字符直到满足不在set(char) 中,不需要有序,切记!

感谢各位的阅读!关于python过滤数字的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!