当前位置: 首页 > news >正文

河南安阳市地图seo关键词排名优化如何

河南安阳市地图,seo关键词排名优化如何,手机必备app,燕郊做网站找谁Python 程序设计入门(014)—— Python 的 Lambda 函数(匿名函数) 目录 Python 程序设计入门(014)—— Python 的 Lambda 函数(匿名函数)一、匿名函数的定义二、匿名函数的特征三、匿…

Python 程序设计入门(014)—— Python 的 Lambda 函数(匿名函数)

目录

  • Python 程序设计入门(014)—— Python 的 Lambda 函数(匿名函数)
    • 一、匿名函数的定义
    • 二、匿名函数的特征
    • 三、匿名函数的常见用法
        • 1、命名后调用
        • 2、直接调用
        • 3、将 Lambda 函数作为参数传递给其他函数(一般赋予 key 参数)
        • (1)max() 函数
        • (2)sorted() 函数

一、匿名函数的定义

Lambda 函数是函数式编程中的核心概念之一。Python 提供了一种简单的方法来定义 lambda 函数。匿名函数可以在不定义函数的情况下通过一行代码实现高效的函数功能。匿名函数可以在表达式中直接使用,非常方便。匿名函数的语法格式如下:

lambda [arguments] : expression

说明:

(1)arguments:形参列表,多个形参用逗号隔开,也可以不带参数。

形参列表的形式如下:

a, b
a=1, b=2
*args
**kwargs
a, b=1, *args

(2)expression:函数返回值的表达式,表达式只能有一个。

表达式的形式如下:

6
a + b
sum(b)
6 if a >10 else 7

(3)lambda 返回值是一个函数的地址,也就是函数对象。

例如:

fadd = lambda x,y:x+y
print(fadd)
print(fadd(3,2))运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
<function <lambda> at 0x00000266BFC99EE0>
5

二、匿名函数的特征

(1)Lambda 函数是匿名的

所谓匿名函数,通俗地说就是没有名字的函数。

(2)Lambda 函数有输入和输出

输入是传入到参数列表 [arguments] 的值,输出是根据表达式 expression 计算得到的值。

(3)Lambda 函数拥有自己的命名空间

不能访问自己参数列表之外或全局命名空间里的参数,只能完成非常简单的功能。

常见的 Lambda函数示例:

lambda x, y: x+y			# 函数的输入为x和y,输出是它们的和:x+y
lambda *args: sum(args)		 # 输入是任意个数参数,输出是它们的和
lambda **kwargs: 6			# 输入是任意键值对参数,输出是6

三、匿名函数的常见用法

1、命名后调用

如果我们只需要一个简单的函数,lambda 是一个很好的选择,可以被看作是定义函数的一种更简单的方法。我们可以给它一个名称,并像普通函数一样使用它。调用的形式如下:

fun_name = lambda arguments : expression
fun_name(arguments)

例如:

fun_perimeter = lambda r:3.14 * r * 2
fun_area = lambda r:3.14 * r ** 2
print("圆的周长:",fun_perimeter(5))
print("圆的面积:",fun_area(5))运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
圆的周长: 31.400000000000002
圆的面积: 78.5

2、直接调用

直接调用 lambda 函数的语法格式如下:

(lambda arguments : expression)(arguments)

例如:

print("圆的周长:",(lambda r:3.14 * r * 2)(5))
print("圆的面积:",(lambda r:3.14 * r ** 2)(5))运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
圆的周长: 31.400000000000002
圆的面积: 78.5

3、将 Lambda 函数作为参数传递给其他函数(一般赋予 key 参数)

(1)max() 函数

max() 函数返回给定参数的最大值,参数可以为序列。max() 函数的语法格式如下:

max( x, y, z, .... )说明:返回给定参数的最大值

例如:由 Lambda 函数决定是按元组的哪一个值排序。

num = [(100, 2.5), (150, 0.2), (80, 3.4), (120, 1.8)]
y = max(num, key=lambda x: x[0])   # 按元组的第1个值排序取最大值
print(y)
y = max(num, key=lambda x: x[1])   # 按元组的第2个值排序取最大值
print(y)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
(150, 0.2)
(80, 3.4)

(2)sorted() 函数

sorted() 函数对所有可迭代的对象进行排序操作。sorted() 函数的语法格式如下:

sorted(iterable, key=None, reverse=False)
参数说明:
(1)iterable:可迭代对象。
(2)key:指定用来进行比较的元素,指定可迭代对象中的一个元素进行排序。
(3)reverse:排序规则,reverse = True 降序, reverse = False 升序(默认)。
(4)返回值:返回重新排序的列表。

sort 与 sorted 区别:

(1)sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

(2)list 的 sort 方法是对已经存在的列表进行操作。而 sorted 函数返回的是一个新的 list,而不是在原来的基础上进行的操作。

例1:对列表的操作

num = [2,3,22,102,-87,11,-23]
print(sorted(num))  # 升序排列
print(sorted(num,key=lambda x :abs(x)))  # 按绝对值升序排列,参数x接收的是列表的元素
stu = ["Jerry","Mark","tom","Black","zhangping","Liugang","WANGLIN"]
print(sorted(stu))   # 对名字排序(区分大小写)
print(sorted(stu,key=str.lower))   # 对名字排序(转换为小写后排序,即:不区分大小写)
print(sorted(stu,key=lambda x:x.lower()))   # 作用同上
print(sorted(stu,key=lambda x:len(x)))      # 按字符串的长度排序
# 参数x接收的是列表的元素,参数x接收的是列表的元素,参数x接收的是列表的元素
lang = [(11,"java"),(101,"go"),(201,"c"),(17,"vb"),(21,"c++")]
print(sorted(lang,key=lambda x:x[0]))  # 按列表中的元组的第一列排序
print(sorted(lang,key=lambda x:x[1]))  # 按列表中的元组的第二列排序运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[-87, -23, 2, 3, 11, 22, 102]
[2, 3, 11, 22, -23, -87, 102]
['Black', 'Jerry', 'Liugang', 'Mark', 'WANGLIN', 'tom', 'zhangping']
['Black', 'Jerry', 'Liugang', 'Mark', 'tom', 'WANGLIN', 'zhangping']
['Black', 'Jerry', 'Liugang', 'Mark', 'tom', 'WANGLIN', 'zhangping']
['tom', 'Mark', 'Jerry', 'Black', 'Liugang', 'WANGLIN', 'zhangping']
[(11, 'java'), (17, 'vb'), (21, 'c++'), (101, 'go'), (201, 'c')]
[(201, 'c'), (21, 'c++'), (101, 'go'), (11, 'java'), (17, 'vb')]

例2:对字典的操作

lang = {11:"java",101:"go",201:"c",17:"vb",21:"c++"}
print(lang)
print(sorted(lang.items(),key=lambda x:x[0]))  # 按字典的 key 排序
print(sorted(lang.items(),key=lambda x:x[1]))  # 按字典的 value 排序运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
{11: 'java', 101: 'go', 201: 'c', 17: 'vb', 21: 'c++'}
[(11, 'java'), (17, 'vb'), (21, 'c++'), (101, 'go'), (201, 'c')]
[(201, 'c'), (21, 'c++'), (101, 'go'), (11, 'java'), (17, 'vb')]
http://www.mmbaike.com/news/59698.html

相关文章:

  • 书画网站建设方案策划网络app推广是什么工作
  • 青岛网站开发如何做推广宣传
  • 用xml可不可以做网站seo培训学校
  • wap网站搭建百度科技有限公司
  • 太原网站seo服务网络营销的特点有
  • 如何做网站推广优化交换友情链接的方法
  • 疫情又要来了吗最新消息网络推广优化培训
  • 网站建设 cms 下载seo关键词查询工具
  • 禅城网站建设谷歌搜索引擎免费入口 香港
  • 百度贴吧引流推广方法关键词优化到首页怎么做到的
  • 政府网站wap门户建设方案晚上国网app
  • 别人网站html css js获取广州seo关键词优化是什么
  • 网站更改指定字段长沙seo服务哪个公司好
  • 3d效果图怎么制作seo的最终是为了达到
  • 网站建设地址北京昌平优化大师怎么提交作业
  • e4a做网站seo分析师招聘
  • 湛江网站建设与网页站长之家音效素材
  • 网站模版整站下载域名注册网站
  • 长沙做个网站多少钱深圳百度网站排名优化
  • 各种wordpress图片相册插件比较泰州seo外包公司
  • 深圳网站的优化百度百科优化
  • 网站开发的方式网站seo内容优化
  • 广州市哪有做网站的如何写好软文
  • wordpress指针美化网站关键词排名seo
  • 如何申请成立公司sem和seo有什么区别
  • 纯静态单页网站网络营销的方式和手段
  • 婚纱网站设计网上软文发稿平台
  • 宿迁网站建设推广公司网站服务费一年多少钱
  • 下载搭建网站软件seo站长查询
  • 网站备案取消流程百度动态排名软件