列表推导式
1.解包
# 将二维列表转换为一维列表
>>> l = [[1,2],[3,4],[5,6],[7,8]]
>>> [i for k in l for i in k]
[1, 2, 3, 4, 5, 6, 7, 8]
2.完成元素操作
# 将列表中的元素转换为字符串型
>>> l = [1, 2, 3, 4, 5, 6, 7, 8]
>>> [str(i) for i in l]
['1', '2', '3', '4', '5', '6', '7', '8']
# 将列表中的元素求平方
>>> [i**2 for i in l]
[1, 4, 9, 16, 25, 36, 49, 64]
lambda函数
1.单独使用
# 求平方函数
>>> g = lambda x: x**2
>>> g(3)
9
2.与filter、map、reduce函数一起使用
# 找出列表中的偶数
>>> list(filter(lambda x: x%2 == 0, [1,2,3,4,5,6,7,8]))
[2, 4, 6, 8]
# 求列表中元素的三次方
>>> list(map(lambda x:x**3, range(1,10)))
[1, 8, 27, 64, 125, 216, 343, 512, 729]
# 求前20个正整数的乘积
>>> reduce(lambda x,y: x*y, range(1,21))
2432902008176640000
柯里化
# 求x的y次方
>>> def func(x):
def power(y):
return x**y
return power
>>> func(2)(10)
1024