码迷,mamicode.com
首页 > 编程语言 > 详细

Python-有名匿名函数、列表推导式

时间:2019-02-02 12:43:23      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:列表生成式   style   传参   div   color   tco   UNC   fun   使用   

介绍:

匿名函数:    匿名函数用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函数值传参  

 

Python-有名匿名函数、列表推导式

标签:列表生成式   style   传参   div   color   tco   UNC   fun   使用   

原文地址:https://www.cnblogs.com/yangzhizong/p/10348158.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!