python怎么對數(shù)字進(jìn)行過濾
本文實(shí)例總結(jié)了Python實(shí)現(xiàn)簡易過濾刪除數(shù)字的方法。分享給大家供大家參考,具體如下:
如果想從一個含有數(shù)字,漢字,字母的列表中濾除僅含有數(shù)字的字符,當(dāng)然可以采取正則表達(dá)式來完成,但是有點(diǎn)太麻煩了,因此可以采用一個比較巧妙的方式:
1、正則表達(dá)式解決
import re L = [u'小明', 'xiaohong', '12', 'adf12', '14'] for i in range(len(L)): if re.findall(r'^[^\d]\w+',L[i]): print re.findall(r'^\w+$',L[i])[0] elif isinstance(L[i],unicode): print L[I]
2、巧妙地避開正則表達(dá)式
L = [ 'xiaohong', '12', 'adf12', '14',u'曉明'] for x in L: try: int(x) except: print x
3、使用string內(nèi)置方法
L = [ 'xiaohong', '12', 'adf12', '14',u'曉明'] #對于python3來說同樣還可以使用string.isnumeric()方法 for x in L: if not x.isdigit(): print x
4、去除兩端的數(shù)字
如果只是去除兩端可能含有數(shù)字的字符串里的數(shù)字,則可以使用內(nèi)置的strip,方式如下:
In [24]: import string
In [25]: astring = '12313213215just for 32 test 1306436'
In [26]: astring.strip(string.digits)
Out[26]: 'just for 32 test '
In [27]: astring.rstrip(string.digits)
Out[27]: '12313213215just for 32 test '
In [30]: astring.lstrip(string.digits)
Out[30]: 'just for 32 test 1306436'
#注意
In [31]: astring
Out[31]: '12313213215just for 32 test 1306436'
In [32]: astring.strip('0123456')
Out[32]: 'just for 32 test '
.strip([char]) 中的 char 給定時,則截取兩端的字符直到滿足不在set(char) 中,不需要有序,切記!
實(shí)例擴(kuò)展:
crazystring = 'dade142.!0142f[., ]ad'
# 只保留數(shù)字
new_crazy = filter(str.isdigit, crazystring)
print(''.join(list(new_crazy))) #輸出:1420142
# 只保留字母
new_crazy = filter(str.isalpha, crazystring)
print(''.join(list(new_crazy))) #睡出:dadefad
# 只保留字母和數(shù)字
new_crazy = filter(str.isalnum, crazystring)
print(''.join(list(new_crazy))) #輸出:dade1420142fad
# 如果想保留數(shù)字0-9和小數(shù)點(diǎn)'.' 則需要自定義函數(shù)
new_crazy = filter(lambda ch: ch in '0123456789.', crazystring)
print(''.join(list(new_crazy))) #輸出:142.0142.
上述代碼運(yùn)行結(jié)果:
1420142
dadefad
dade1420142fad
142.0142.
到此這篇關(guān)于python怎么對數(shù)字進(jìn)行過濾的文章就介紹到這了,更多相關(guān)python如何過濾數(shù)字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python設(shè)計(jì)模式中單例模式的實(shí)現(xiàn)及在Tornado中的應(yīng)用
這篇文章主要介紹了Python設(shè)計(jì)模式中單例模式的實(shí)現(xiàn)及在Tornado中的應(yīng)用,講解了單例模式用于設(shè)計(jì)Tornado框架中的線程控制方面的相關(guān)問題,需要的朋友可以參考下2016-03-03
Django配置Mysql數(shù)據(jù)庫連接的實(shí)現(xiàn)
本文主要介紹了Django配置Mysql數(shù)據(jù)庫連接的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
python實(shí)現(xiàn)一個簡單的udp通信的示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)一個簡單的udp通信的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02
Django-rest-framework中過濾器的定制實(shí)例
這篇文章主要介紹了Django-rest-framework中過濾器的定制實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
關(guān)于Django Models CharField 參數(shù)說明
這篇文章主要介紹了關(guān)于Django Models CharField 參數(shù)說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
圖片去摩爾紋簡述實(shí)現(xiàn)python代碼示例
這篇文章主要為大家介紹了圖片去摩爾紋簡述實(shí)現(xiàn)的python代碼示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
淺談Python編程中3個常用的數(shù)據(jù)結(jié)構(gòu)和算法
這篇文章主要介紹了淺談Python編程中3個常用的數(shù)據(jù)結(jié)構(gòu)和算法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04

