您的位置:首頁技術文章
文章詳情頁

Python這句話什么意思,語法有點怪?

瀏覽:101日期:2022-06-27 18:07:34

問題描述

filelist = [x for x in os.listdir() if os.path.isfile(x)]

問題解答

回答1:

相當于:

filelist = []for x in os.listdir(): if os.path.isfile(x):filelist.append(x)

這是列表解析的內容.

回答2:

列表生成式相當于。os.listdir()需要一個參數,你要得到哪個路徑下的list。

In [54]: filelist = []In [55]: for x in os.listdir('.'): ...: if os.path.isfile(x): ...: filelist.append(x) ...:In [56]:

使用列表生成式比[].append() 快一點。你可以使用大批量的測試一下。為什么快呢。python listobject 模型的機制有關系,有時間可以讀讀python 源碼,C語言寫的

回答3:

定義:列表推導式(又稱列表解析式)提供了一種簡明扼要的方法來創建列表。

規范:variable = [out_exp for out_exp in input_list if out_exp == 2]

例子:multiples = [i for i in range(30) if i % 3 is 0]print(multiples)

Output: [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

場景:循環中的邏輯比較簡單時可用推導式代替,以增加代碼可讀性和潔癖

回答4:

列表推導式列表生成式

順序如下:

Python這句話什么意思,語法有點怪?

標簽: Python 編程
国产综合久久一区二区三区