看板 Python 關於我們 聯絡資訊
※ 引述《tsaiminghan (nahgnimiast)》之銘言: : 我看別人寫的py檔,有一種語法 : 大約長得像下面這樣, : [ print x for x in range(1, 6) ] : 像是把for迴圈反過來寫,請問這種用法 : 要google時,要用什麼關鍵字才找得到資料 : 或是有人能說明使用的時機和限級。謝謝 概念其實就是數學上的「集合」 有一集合 A = {1, 2, 3} 與 函數f(x) = 2x+1 試求{f(x) | x 屬於 A } = {f(1), f(2), f(3)} = {3, 5, 7} 把這個概念用在list comprehension上 可以把list想成一個數學上的集合 EX: list_b = [abs(x) for x in range(-4, 0)] print(list_b) → [4, 3, 2, 1] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.232.214.245
tsaiminghan:所以這寫法只能用在list上嗎? 09/15 20:56
darkgerm:改成寫小括號就會變 generator 09/15 20:58
buganini:也可以寫{x:y for x ...} dict comprehensive 09/15 21:32
buganini:不過這個和generator好像在某個版本以前不能用 09/15 21:32
kdjf:那是py3k backport回去的吧(歡迎直接開始用python3) 09/16 09:04
tsaiminghan:謝謝 09/17 23:25