日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

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

具體的實例

我們需要在目錄中遍歷,包括子目錄(哈哈),找出所有后綴為: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)

輸出結果

來看看有什么好東東:
[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
( ... 太多了,不要全輸出來吧~~)

擴展

CookBook一書中,提供的是itertools.imap來實現對字符串的過濾。imap和map不同的是,imap返回的是一個iteration對象,而map返回的是一個list對象。代碼如下:
import?itertools
def?anyTrue(predicate,?sequence):
????
return?True?in?itertools.imap(predicate,?sequence)
def?endsWith(s,?*endings):
????
return?anyTrue(s.endswith,?endings)
imap 等價于:
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正則表達式操作指南(re使用)(轉)??

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

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

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

...



本文轉自CoderZh博客園博客,原文鏈接:http://www.cnblogs.com/coderzh/archive/2008/05/09/1190173.html,如需轉載請自行聯系原作者

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。