Python全栈学习Day16 匿名函数与重要的几个内置函数

几个重要的内置函数

all
有一个False就是False
any
有一个True就是True
zip
拉链

l = [1, 2, 3]
a = ['a', 'b', 'c']
for i in zip(l, a):
    print(i)

在这里插入图片描述
filter

def is_odd(x):
    return x % 2 == 1


ret = filter(is_odd, [1, 4, 6, 7, 9])
# [for i in [1, 4, 6, 7, 9] if i % 2 == 1]
print(ret)
for i in ret:
    print(i)

在这里插入图片描述
练习:求1-100中开根号后是整数的数:

from math import sqrt


def num(x):
    res = sqrt(x)
    return res % 1 == 0


ret = filter(num, range(1, 101))
for i in ret:
    print(i)

map

ret = map(abs,[1, -1, 2, -2])
for i in ret:
    print(i)

在这里插入图片描述
sorted
生成新的列表,原列表不变,可以根据需求排序
例子:根据列表长度排序

l = [' ', 'sdadasd', [1, 2]]
new_l = sorted(l, key=len)
print(new_l)

在这里插入图片描述

匿名函数

公式:
函数名 = lambda 参数 :返回值
小例子:

 add = lambda x, y: x+y
    print(add(1, 2))

在这里插入图片描述

匿名函数与内置函数的结合

小例子:

dic = {'k1': 10, 'k2': 100, 'k3': 30}
ret = max(dic, key=lambda k: dic[k])
print(ret)

面试题

1下面程序的结果是:

d = lambda p: p*2
t = lambda p: p*3
x = 2
x = d(x)
x = t(x)
x = d(x)
print(x)
# 答案24

2现在有两元组((‘a’), (‘b’)), ((‘c’), (‘d’)) 请使用python中匿名函数生成列表[{‘a’:‘c’}, {‘b’:‘d’}]
分析:
需要使用匿名函数与zip内置函数
匿名函数常联系的内置函数max min sorted filter map

ret = zip((('a'), ('b')), (('c'), ('d')))


# def func(tup):
#     return {tup[0], tup[1]}


res = map(lambda tup: {tup[0], tup[1]}, ret)
print(list(res))

3 以下代码输出结果是什么?

def multiplierss():
    return [lambda x: i*x for i in range(4)]


print([m(2) for m in multiplierss()])

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值