Python基础教程:匿名函数和内置函数
匿名函数
匿名函数就是没有名字的函数
lambda:1
PS:冒号左边时参数,右边是返回值
因为没有名字,而函数的调用就是通过函数名+()的
匿名函数单独使用毫无意义,它是配合内置函数一起使用
匿名函数需要一次性使用
内置函数
python内部提供的内置方法
- max:最大值 max(可迭代对象)
- min:最小值 min(可迭代对象)
l1 = [1, 2, 3, 4, 5]
# 打印出l1列表中最大的值
print(max(l1))
# 打印出l1列表中最小的值
print(min(l1))
上边匿名函数中说道能和内置函数一起使用,让我们来看一下
'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:531509025
'''
dict1 = {
'tank':500,
'sean':400,
'egon':600
}
print(max(dict1,key= lambda x:dict1[x]))
print(min(dict1,key= lambda x:dict1[x]))
sorted:排序,默认升序(从小到大)
l1 = [6, 1, 2, 3, 4, 5]
# 给l1从小到大排序
print(sorted(l1))
他还有个参数reverse:反转(倒序)它的默认参数是False
reverse True 降序
# 给l1从大到小排序
print(sorted(l1,reverse=True))
结合dict1和匿名函数我们给dict1排一下序
dict1 = {
'tank':500,
'sean':400,
'egon':600
}
# 按照dict1中的value从小到大排序,返回key
print(sorted(dict1,key= lambda x:dict1[x]))
# 按照dict1中的value从大到小排序,返回key
print(sorted(dict1,key= lambda x:dict1[x],reverse=True))
map():映射
语法:
map(函数地址(func),可迭代对象)---->map对象
map会将可迭代对象中的每一个值进行修改,然后映射一个map对象中,可以再将map对象转换成列表或元组
注意:生成器(迭代器)用一次就用完了,所以用完后就不能再取了
'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:531509025
'''
l1 = ['a','b','c','d']
# 如果列表里有'a'在后面加'_1'如果不是就加'_2'
res = map(lambda x:x+'_1' if x == 'a' else x + '_2' ,l1)
print(list(res))
# 生成器(迭代器)用一次就用完了,所以用完后就不能再取了
print(tuple(res)) # 这时打印出来的就是空元组()
reduce():合并
语法:
reduce(函数地址(func),可迭代对象,初始值(初始值默认为0))
每次从可迭代对象中获取两个值进行合并
from functools import reduce
# 计算1-100的和后再加1000
res = reduce(lambda x,y:x+y,range(1,101),1000)
print(res) # 打印结果6050
filter():过滤
语法:
filter(函数地址(func),可迭代对象)
filter会将函数中返回结果为True的对应的参数值过滤出来
过滤出来的值会添加到filter对象中
list1 = ['a_1', 'b_2', 'c_2', 'd_2']
# 将后缀名为_1的元素过滤出来
res = filter(lambda x:x.endswith('_1'),list1)
print(res) # <filter object at 0x000002B7C2477648>
print(list(res)) # ['a_1']
本文来自博客园,作者:I'm_江河湖海,转载请注明原文链接:https://www.cnblogs.com/jhhh/p/16760806.html