日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Python天天美味(16) - 过滤字符串的技巧,map与itertools.imap

發(fā)布時(shí)間:2024/1/1 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python天天美味(16) - 过滤字符串的技巧,map与itertools.imap 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Python中的map函數(shù)非常有用,在字符轉(zhuǎn)換和字符遍歷兩節(jié)都出現(xiàn)過,現(xiàn)在,它又出現(xiàn)了,會(huì)給我們帶來什么樣的驚喜呢?是不是要告訴我們,map是非常棒的,以后要多找它玩呢?

具體的實(shí)例

我們需要在目錄中遍歷,包括子目錄(哈哈),找出所有后綴為:rmvb ,avi? ,pmp 的文件。(天哪?!你要干什么?這可是我的隱私啊~~)
import?os

def?anyTrue(predicate,?sequence):
????
return?True?in?map(predicate,?sequence)

def?filterFiles(folder,?exts):
????
for?fileName?in?os.listdir(folder):
????????
if?os.path.isdir(folder?+?'/'?+?fileName):
????????????filterFiles(folder?
+?'/'?+?fileName,?exts)
????????
elif?anyTrue(fileName.endswith,?exts):
????????????
print?fileName

exts?
=?['.rmvb',?'.avi',?'.pmp']
filterFiles(
'/media/Personal/Movie',?exts)

輸出結(jié)果

來看看有什么好東東:
[66影視www.66ys.cn]迷失第四季04.rmvb
[迷失.第4季].Lost.S04E00.rmvb
[迷失Lost第四季][第02集][中文字幕].rmvb
《迷失Lost第四季》第05集[中文字幕].rmvb
《迷失Lost第四季》第06集[中文字幕].rmvb
《迷失Lost第四季》第07集[中文字幕].rmvb
天賜第2季01.rmvb
天賜第2季02.rmvb
天賜第2季03.rmvb
天賜第2季04.rmvb
天賜第2季05.rmvb

影視帝國(bbs.cnxp.com).美麗心靈.A.Beautiful.Mind.
2001.CD1.rmvb
( ... 太多了,不要全輸出來吧~~)

擴(kuò)展

CookBook一書中,提供的是itertools.imap來實(shí)現(xiàn)對(duì)字符串的過濾。imap和map不同的是,imap返回的是一個(gè)iteration對(duì)象,而map返回的是一個(gè)list對(duì)象。代碼如下:
import?itertools
def?anyTrue(predicate,?sequence):
????
return?True?in?itertools.imap(predicate,?sequence)
def?endsWith(s,?*endings):
????
return?anyTrue(s.endswith,?endings)
imap 等價(jià)于:
def?imap(function,?*iterables):
?????????iterables?
=?map(iter,?iterables)
?????????
while?True:
?????????????args?
=?[i.next()?for?i?in?iterables]
?????????????
if?function?is?None:
?????????????????
yield?tuple(args)
?????????????
else:
?????????????????
yield?function(*args)


Python 天天美味系列(總)

Python 天天美味(14) - splitlines??

Python 天天美味(15) - Python正則表達(dá)式操作指南(re使用)(轉(zhuǎn))??

Python 天天美味(16) - 過濾字符串的技巧,map與itertools.imap??

Python 天天美味(17) - open讀寫文件??

Python 天天美味(18) - linecache.getline()讀取文件中特定一行??

...



本文轉(zhuǎn)自CoderZh博客園博客,原文鏈接:http://www.cnblogs.com/coderzh/archive/2008/05/09/1190173.html,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者

總結(jié)

以上是生活随笔為你收集整理的Python天天美味(16) - 过滤字符串的技巧,map与itertools.imap的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。