[英]Python(3.3) map function behaviour
import glob,os
os.chdir("C:\\path")
在這之后如果我執行一行
map(lambda y:os.remove(y),filter(lambda x:os.path.getsize(x)==0,glob.glob('*')))
它不會刪除大小為零的文件
但是如果我這樣做
list(map(lambda y:os.remove(y),filter(lambda x:os.path.getsize(x)==0,glob.glob('*'))))
它刪除文件。 這實際上如何工作?
在Python3中, map
函數返回一個map object
(而不是Python2中的列表)。
這是專為延遲評估而設計的,這意味着未在使用之前評估該值。 list
對其進行評估。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.