Re: [問題] 語法 - 類似倒裝句

看板Python作者 (白毛)時間13年前 (2012/09/15 12:13), 編輯推噓0(006)
留言6則, 4人參與, 最新討論串2/2 (看更多)
※ 引述《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

09/15 20:56, , 1F
所以這寫法只能用在list上嗎?
09/15 20:56, 1F

09/15 20:58, , 2F
改成寫小括號就會變 generator
09/15 20:58, 2F

09/15 21:32, , 3F
也可以寫{x:y for x ...} dict comprehensive
09/15 21:32, 3F

09/15 21:32, , 4F
不過這個和generator好像在某個版本以前不能用
09/15 21:32, 4F

09/16 09:04, , 5F
那是py3k backport回去的吧(歡迎直接開始用python3)
09/16 09:04, 5F

09/17 23:25, , 6F
謝謝
09/17 23:25, 6F
文章代碼(AID): #1GL73XQT (Python)
討論串 (同標題文章)
文章代碼(AID): #1GL73XQT (Python)