Re: [野人獻曝] List Comprehensions

看板Python作者 (想問問題)時間15年前 (2010/01/20 11:15), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串2/2 (看更多)
不好意思 我沒甚麼使用script語言的經驗 我安裝了Python 2.6 然後打開Python (command line)或是IDLE (Python GUI)就一行一行輸入嗎 我打第一行 ,結果會出現 但是為什麼我打第二個 >>> def f(x): return 3*x + 1 [ f(x) for x in range(10) ] SyntaxError: invalid syntax 就出現error了呢 可能問題有點笨,希望大家指點我一下 又例如後面出現的無名小站抓圖程式,應該要怎麼用 什麼是*.py 帳號 相簿編號?? ※ 引述《zhouer ( )》之銘言: : [ x for x in range(10) ] : 這跟 range(10) 的結果一模一樣,是:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] : def f(x): return 3 * x + 1 : [ f(x) for x in range(10) ] : 可以想像,這樣做的效果就是把 0 .. 9 分別帶入 f(x) : 所以得到的結果是:[1, 4, 7, 10, 13, 16, 19, 22, 25, 28] : [ f(x) for x in range(10) if x % 2 == 0 ] : 和上面類似,但只處理偶數,所以結果是:[1, 7, 13, 19, 25] : [ (x, y) for x in range(3) for y in range(3) ] : 也可以有數個變數,結果如下: : [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)] : r = 5 : [(x, y) for x in range(r + 1) for y in range(r + 1) if x * x + y * y == r * r] : 半徑是 5 的圓,在第一象限所通過的格子點,結果是: : [(0, 5), (3, 4), (4, 3), (5, 0)] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 67.79.223.144

01/20 12:30, , 1F
第一行enter後的... 要先enter跳過 再打[f(x) ...]
01/20 12:30, 1F

01/20 12:55, , 2F
謝謝 可以了 原來是這樣
01/20 12:55, 2F
文章代碼(AID): #1BLdK_is (Python)
討論串 (同標題文章)
文章代碼(AID): #1BLdK_is (Python)