標籤

C (1) maple (2) Matlab (11) paper (1) python (14)

2011年4月17日 星期日

List Comprehensions

作者  zhouer ( )                                               看板  Python
 標題  [野人獻曝]  List Comprehensions
 時間  Mon Dec 12 10:59:26 2005
───────────────────────────────────────

[ 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)]

沒有留言:

張貼留言