1. 交換x和y的值 [x, y] = [y, x]
2. zip()方法把幾個lists的第i個元素合成一個tuple,放在一個新的list中。
zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]
函數式編程相關
1. Mapping
map() 方法對序列中的每個元素調用某個函數,返回新生成的結果序列。
有點類似于Ruby的Array.each do | element |
>>> z = map(len, ["abc", "clounds", "rain"])
>>> z
[3, 6, 4]
2. Filtering
過濾掉滿足條件的元素,類似與Array.reject do | element |
>>> x = [5,12,-2,13]
>>> y = filter(lambda z: z > 0, x)
>>> y
[5, 12, 13]
3. List Comprehension
來個復雜的例子
>>> y
[[0, 2, 22], [1, 5, 12], [2, 3, 33]]
>>> [a for b in y for a in b[1:]]
[2, 22, 5, 12, 3, 33]
4. Reduction
先看示例
>>> x = reduce(lambda x,y: x+y, range(5))
>>> x
10
執行的順序是:首先調用函數處理range(5)前兩個值,0 + 1 = 1,然后返回的值1作為x,繼續與range(5)的第三個值(2,作為y)。
最后的結果是0+1+2+3+4的值
這個常用來代替for循環