正文
Python-有名匿名函数、列表推导式
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
介绍:
匿名函数: 匿名函数用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤,节省开辟空间。
列表推导式:
有名函数
#1.有名函数(初始)
def square(x):
return x**2
res=map(square,[1,2,3,4,5])
print(res) #<map object at 0x007193B0> 是一个生成器对象,a.__next__()取值
print(list(res)) #[1, 4, 9, 16, 25]
匿名函数
#2.匿名函数(匿名函数改进)
# res=map(lambda x:x**2,[1,2,3,4,5])
# print(res) #<map object at 0x020936B0>
# print(list(res)) #[1, 4, 9, 16, 25]
列表推导式
#3.实际工作中,建议使用——列表生成式改进
l=[]
def square(x):
l.append(x**2)for i in [1,2,3,4,5,6]:
square(i)print(l) #[1, 4, 9, 16, 25, 36]
注意点:lamdba+列表推导式的坑
#主意:lambda+列表推导式的坑
res=[lambda x:i**2 for i in range(3)]
# res=[lambda x:i**2 for i in range(3)]
print(res[0](0)) # 结果4,[<function <listcomp>.<lambda> at 0x08757540>, <function <listcomp>.<lambda> at 0x087574F8>, <function <listcomp>.<lambda> at 0x087575D0>, <function <listcomp>.<lambda> at 0x08757660>, <function <listcomp>.<lambda> at 0x087576A8>]
# print(res[0](10)) #结果4,(10)相当于是为lambda函数值传参