匿名函数,三元表达式,列表推导式,字典生成式

匿名函数

匿名的意思,就是隐藏自己不让别人知道你的名字。比方说很多人都讨厌的一种人,以匿名的方式打小报告,然后都不知道他是谁。

匿名函数:与函数有相同的作用域,没有与之绑定的名字意味着引用计数为0,使用一次即被收回,加括号即可运行。

# 一个有函数名的函数
def func(x,y):
    return x+y
    
res = func(1,2)
print(res)

# 没有函数名的函数 lambda 匿名函数
print((lambda x,y:x+y)(1,2))
print((lambda x,y:x+y))
# lambda 后面的 x,y 就类似于函数的形参
# x+y 就类似于函数的返回值,1,2 就是实参
# 3
# 3
<function <lambda> at 0x0000001FDCC71EA0>
# 如果让其有名字,那匿名函数就没有了意义
func = lambda x,y:x+y
func(3,4)

三元表达式

条件成立返回值 if 条件 else 条件不成立返回值

x = 10
y = 20

print(x if x > y else y)
# 20

列表推导式

列表推导式提供了比较简单的方式来创建列表,它的结构是一个中括号内,放入 表达式,然后是也该 for 语句,然后是0个或多个 for 语句或者 if 语句。

# 正常 for 循环 需要创建一个空列表
lis = []
for i in range(6):
    if i == 4:
        continue
    lis.append(i)
print(lis)

# 列表推导式
print([i for i in range(6) if i!=4])
# [0, 1, 2, 3, 5]
# [0, 1, 2, 3, 5]

字典生成式

print({i:i*2 for i in range(5)})
{0: 0, 1: 2, 2: 4, 3: 6, 4: 8}

zip() 方法

key = ['name','age','hobby']
value = ['jason',18,'tank']

res = zip(key,value)
print(dict(res))
{'name': 'jason', 'age': 18, 'hobby': 'tank'}
posted @ 2019-07-14 16:29  光吃葡萄皮  阅读(169)  评论(0编辑  收藏  举报
回顶部