python字符串過(guò)濾性能比較5種方法
python字符串過(guò)濾性能比較5種方法比較
總共比較5種方法。直接看代碼:
import random
import time
import os
import string
base = string.digits+string.punctuation
total = 100000
def loop(ss):
"""循環(huán)"""
rt = ''
for c in ss:
if c in '0123456789':
rt = rt + c
return rt
def regular(ss):
"""正則表達(dá)式"""
import re
rt = re.sub(r'\D', '', ss)
return rt
def filter_mt(ss):
"""函數(shù)式"""
return filter(lambda c:c.isdigit(), ss)
def list_com(ss):
"""列表生成式"""
isdigit = {'0': 1, '1': 1, '2': 1, '3': 1, '4': 1,
'5':1, '6':1, '7':1, '8':1, '9':1}.has_key
return ''.join([x for x in ss if isdigit(x)])
def str_tran(ss):
"""string.translate()"""
table = string.maketrans('', '')
ss = ss.translate(table,string.punctuation)
return ss
if __name__ == '__main__':
lst = []
for i in xrange(total):
num = random.randrange(10, 50)
ss = ''
for j in xrange(num):
ss = ss + random.choice(base)
lst.append(ss)
s1 = time.time()
map(loop,lst)
print "loop: ",time.time() - s1
print '*'*20
s1 = time.time()
map(regular, lst)
print "regular: ", time.time() - s1
print '*' * 20
s1 = time.time()
map(str_tran, lst)
print "str_tran: ", time.time() - s1
print '*' * 20
s1 = time.time()
map(filter_mt, lst)
print "filter_mt: ", time.time() - s1
print '*' * 20
s1 = time.time()
map(list_com, lst)
print "list_com: ", time.time() - s1
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Python sql注入 過(guò)濾字符串的非法字符實(shí)例
- Python中字符串String的基本內(nèi)置函數(shù)與過(guò)濾字符模塊函數(shù)的基本用法
- python實(shí)現(xiàn)mysql的單引號(hào)字符串過(guò)濾方法
- python過(guò)濾字符串中不屬于指定集合中字符的類實(shí)例
- Python 過(guò)濾字符串的技巧,map與itertools.imap
- Python中使用filter過(guò)濾列表的一個(gè)小技巧分享
- Python學(xué)習(xí)小技巧之列表項(xiàng)的推導(dǎo)式與過(guò)濾操作
- Python過(guò)濾列表用法實(shí)例分析
- Python中過(guò)濾字符串列表的方法
相關(guān)文章
Python @property原理解析和用法實(shí)例
這篇文章主要介紹了Python @property原理解析和用法實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
Swin?Transformer模塊集成到Y(jié)OLOv5目標(biāo)檢測(cè)算法中實(shí)現(xiàn)
這篇文章主要為大家介紹了Swin?Transformer模塊集成到Y(jié)OLOv5目標(biāo)檢測(cè)算法中實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Python利用tenacity庫(kù)處理超時(shí)重試機(jī)制詳解
Python?的?tenacity?庫(kù)用于實(shí)現(xiàn)重試機(jī)制,特別適合處理網(wǎng)絡(luò)不穩(wěn)定或其他意外錯(cuò)誤導(dǎo)致的函數(shù)調(diào)用失敗,下面我們就來(lái)看看它的具體使用吧2025-02-02
Python神奇的內(nèi)置函數(shù)locals的實(shí)例講解
今天小編就為大家分享一篇關(guān)于Python神奇的內(nèi)置函數(shù)locals的實(shí)例講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
Python實(shí)現(xiàn)命令行通訊錄實(shí)例教程
這篇文章主要介紹怎樣編寫了一段命令行通訊錄的小程序。下面是編寫的思路以及代碼,歡迎感興趣的同學(xué)交流探討。2016-08-08
Pytorch 如何訓(xùn)練網(wǎng)絡(luò)時(shí)調(diào)整學(xué)習(xí)率
這篇文章主要介紹了Pytorch 如何訓(xùn)練網(wǎng)絡(luò)時(shí)調(diào)整學(xué)習(xí)率的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
在Python中append以及extend返回None的例子
今天小編就為大家分享一篇在Python中append以及extend返回None的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
Django框架搭建的簡(jiǎn)易圖書信息網(wǎng)站案例
這篇文章主要介紹了Django框架搭建的簡(jiǎn)易圖書信息網(wǎng)站案例,結(jié)合具體實(shí)例形式分析了基于Django框架實(shí)現(xiàn)圖書信息管理網(wǎng)站的具體步驟、相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-05-05

