2013-03-01 87 views
4

我有一個像這樣的循環:如何將這個循環轉換爲列表理解?

for i in conversion: 
    for f in glob.glob(i): 
     print(os.path.getsize(f)) 

我想這個轉換成列表解析:

嘗試這樣做:

[os.path.getsize(f) for f in glob.glob(i) for i in conversion] 

,但沒有奏效。

回答

9

在雙列表理解的for循環的順序是相同順序,你會與嵌套循環使用:

[os.path.getsize(f) for i in conversion for f in glob.glob(i)] 

,因爲你期望的內環更這是一個有點混亂「內在「,但是一旦你意識到它與嵌套循環的順序相同,一切都很簡單:)