内置函数二
程序员文章站
2022-05-25 16:59:44
一、lambda 表示匿名函数 为了解决一些简单的需求而设计的一句话函数 语法: 函数名 = lambda 参数:返回值 函数的参数可以有多个,多个参数之间用逗号隔开 匿名函数不管多复杂,只能写一行,且逻辑结束后直接返回数据 返回值和正常的函数一样,可以是任意数据类型 注:匿明函数并不是说一定没有名 ......
一、lambda
- 表示匿名函数
- 为了解决一些简单的需求而设计的一句话函数
语法: 函数名 = lambda 参数:返回值
- 函数的参数可以有多个,多个参数之间用逗号隔开
- 匿名函数不管多复杂,只能写一行,且逻辑结束后直接返回数据
- 返回值和正常的函数一样,可以是任意数据类型
f = lambda n: n ** 2 print(f(10)) # 100
print(f.__name__) # <lambda>
注:匿明函数并不是说一定没有名字。上面f就是一个函数名。说他是匿明原因是通过__name__查看的时候是没有名字的。统一叫lambda。在调用时没有特别之处,像正常函数调用即可。
二、sorted()
- 功能:排序
语法:sorted(iterable, key=none, reverse=false)
- key:排序规则(排序函数),在sorted内部会将可迭代对象中的每一个元素传递给这个函数的参数。根据这个函数运算的结果进行排序
- reverse:是否倒叙,默认值为false
lst = [1, 4, 6, 8, 4, 9, 10] print(sorted(lst)) # [1, 4, 4, 6, 8, 9, 10]
与函数组合使用
lst = [ {"name": "电脑", "price": 6000}, {"name": "手表", "price": 4000}, {"name": "耳机", "price": 1000} ] def func(dic): return dic["price"] print(sorted(lst, key=func)) 结果: [{'name': '耳机', 'price': 1000}, {'name': '手表', 'price': 4000}, {'name': '电脑', 'price': 6000}]
与lambda组合使用
lst = [ {"name": "电脑", "price": 6000}, {"name": "手表", "price": 4000}, {"name": "耳机", "price": 1000} ] print(sorted(lst, key=lambda dic:dic["price"])) 结果: [{'name': '耳机', 'price': 1000}, {'name': '手表', 'price': 4000}, {'name': '电脑', 'price': 6000}]
三、filter()
- 功能:筛选
语法:filter(function, iterable)
- function:用来筛选的函数。在filter中会自动的把iterable中的元素传递给function。然后根据function返回的true or false来判断是否保留此项数据
portfolio = [ {'name': 'ibm', 'shares': 100, 'price': 91.1}, {'name': 'aapl', 'shares': 50, 'price': 543.22}, {'name': 'fb', 'shares': 200, 'price': 21.09}, {'name': 'hpq', 'shares': 35, 'price': 31.75}, {'name': 'yhoo', 'shares': 45, 'price': 16.35}, {'name': 'acme', 'shares': 75, 'price': 115.65} ] lst = list(filter(lambda dic: dic["price"] > 100, portfolio)) print(lst) 结果: [{'name': 'aapl', 'shares': 50, 'price': 543.22}, {'name': 'acme', 'shares': 75, 'price': 115.65}
四、map()
- 映射函数
语法:map(function, iterable)
- 可以对可迭代对象中的每一个元素进行映射。分别去执行function,保留最后的执行结果
lst1 = [1, 2, 3, 4, 5] lst2 = [2, 4, 6, 8, 10] print(list(map(lambda x, y: x + y, lst1, lst2))) 结果: [3, 6, 9, 12, 15]
推荐阅读
-
抖音钻卡自取二维码 抖音钻卡二维码分享
-
网页支付宝怎么安全登陆?手机扫二维码登陆支付宝方法图解
-
surface book二代什么时间上市 surface book2配置、上市时间介绍
-
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
-
jsp Hibernate 函数简介
-
Android开发学习笔记之通过API接口将LaTex数学函数表达式转化为图片形式
-
PHP字符串函数系列之nl2br(),在字符串中的每个新行 ( ) 之前插入 HTML 换行符br
-
PHP数字和字符串ID互转函数(类似优酷ID)
-
河南二本最低得多少分?附河南省二本院校排行榜(最新完整版名单)
-
php时区转换转换函数