首页 > 编程语言 >Python Lambda 用法大全

Python Lambda 用法大全

时间:2023-10-30 16:22:38浏览次数:27  
标签:输出 Python Lambda result print 大全 表达式 lambda

一、Lambda表达式基础

Lambda 的组成分为三部分

lambda arguments: expression

arguments为Lambda表达式的参数列表,多个参数使用逗号分隔;expression则是Lambda表达式的返回值表达式。

Lambda表达式的基本用法:

(lambda x, y: x + y)(1, 2)  # 输出3
(lambda x: x * x)(3)  # 输出9
(lambda x: (x % 2 == 0))(4)  # 输出True
(lambda x: (x % 2 == 0))(3)  # 输出False

二、Lambda表达式应用场景

1. 函数作为参数

Lambda表达式可以作为函数的参数传递

result = map(lambda x: x * x, [1, 2, 3, 4, 5])
print(list(result))  # 输出[1, 4, 9, 16, 25]

2. 条件筛选

filter函数接收一个Lambda表达式和一个序列,它会返回序列中所有偶数组成的新序列。

result = filter(lambda x: x % 2 == 0, [1, 2, 3, 4, 5])
print(list(result))  # 输出[2, 4]

3. 函数式编程

Lambda表达式可以作为函数的返回值,用于构造更为复杂的计算过程

def add_function(n):
    return lambda x: x + n
 
add_3 = add_function(3)
print(add_3(4))  # 输出7

三、Lambda表达式和map、filter、reduce的结合

1. Lambda表达式和map的结合

map函数和Lambda表达式常常一起使用,可以对序列中的每个元素应用Lambda表达式,并返回结果序列。

result = map(lambda x: x * x, [1, 2, 3, 4, 5])
print(list(result))  # 输出[1, 4, 9, 16, 25]

2. Lambda表达式和filter的结合

filter函数和Lambda表达式组合使用可以实现对序列中符合特定条件的元素进行筛选。

result = filter(lambda x: x % 2 == 0, [1, 2, 3, 4, 5])
print(list(result))  # 输出[2, 4]

3. Lambda表达式和reduce的结合

reduce函数可以对序列中的元素依次累加,Lambda表达式可以定义累加过程。

from functools import reduce
 
result = reduce(lambda x, y: x + y, [1, 2, 3, 4, 5])
print(result)  # 输出15

四、Lambda表达式在Python中的高级用法

1. 列表排序

列表的sort方法可以接收一个key参数,用于定义列表排序的规则。Lambda表达式可以作为参数传递给key,定义更复杂的列表排序规则。

fruits = ["apple", "orange", "banana", "lemon"]
fruits.sort(key=lambda x: len(x))
print(fruits)  # 输出['apple', 'lemon', 'banana', 'orange']

2. 列表切片

Lambda表达式可以用来指定切片的起始位置和结束位置。

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]
result = nums[lambda x: 2:lambda x: 5]
print(result)  # 输出[3, 4, 5]

3. 字典排序

在Python中,可以使用sorted函数对字典进行排序。Lambda表达式可以指定排序规则。

data = {"apple": 5, "orange": 3, "banana": 8, "lemon": 1}
sorted_data = sorted(data.items(), key=lambda x: x[1])
print(sorted_data)  # 输出[('lemon', 1), ('orange', 3), ('apple', 5), ('banana', 8)]

标签:输出,Python,Lambda,result,print,大全,表达式,lambda
From: https://www.cnblogs.com/XxMa/p/17798160.html

相关文章

  • python 飞书 获取飞书租户访问令牌 自定义机器人 向webhook_url发送POST请求
    importjsonimportrequestswebhook_url=post_data=#见应用凭证#获取飞书租户访问令牌,用于调用飞书开放平台的其他API接口#url:飞书开放平台的获取租户访问令牌的API接口地址url=r"https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal/"r=......
  • python爬虫知识体系80页md笔记,0基础到scrapy项目高手,第(2)篇:http协议复习精讲
    本文主要学习一下关于爬虫的相关前置知识和一些理论性的知识,通过本文我们能够知道什么是爬虫,都有那些分类,爬虫能干什么等,同时还会站在爬虫的角度复习一下http协议。完整体系笔记直接地址:请移步这里共8章,37子模块,总计5.6w+字今天这一篇主讲:爬虫基础本阶段本文主要学......
  • 查看python中import可以支持的格式引用
    importimportlib.machineryformat_list=importlib.machinery.all_suffixes()print(format_list)so是linux可以加载的文件,windows是pyc ......
  • python json5 转 json
    JSON5是JSON的超集,它的目标是使JSON更易于人类阅读和编写。JSON5引入了一些在ECMAScript5中的一些特性,如注释、尾逗号、单引号等¹。要将JSON5转换为JSON,你需要删除JSON5中的所有注释、尾逗号和单引号,并确保所有的键都被双引号包围。这可以通过编程实现,也可以使用在......
  • shell脚本里如何设置Python的环境变量
    在shell脚本中设置Python的环境变量可以通过以下几个步骤来完成。首先,需要确定Python的安装路径。可以通过以下命令来查找Python的安装路径:该命令会返回Python可执行文件的路径,例如:/usr/bin/python。whichpython接下来,将Python的安装路径添加到PATH环境变量中。PA......
  • Python构造代理IP池提高访问量
    前言爬虫程序是批量获取互联网上的信息的重要工具,在访问目标网站时需要频繁发送请求,为了避免被目标网站封禁IP地址,我们需要使用代理IP来代替自己的IP地址进行访问。本文将介绍如何使用Python构建代理IP池,让爬虫程序更加稳定和高效地运行。一、代理IP是什么代理IP是指由第......
  • Python如何去掉字符串空格?
    在Python中,当我们使用Python处理字符串时,经常会遇到字符串中包含空格的情况,那么Python如何去掉字符串空格?有多种方法可以从Python字符串中删除空格,以下是详细内容介绍。1、使用strip()方法它是一个Python内置函数,可以用来去除字符串开头和结尾的空格。例如,以下代码将......
  • 电影推荐与管理系统Python+Django网页界面+协同过滤推荐算法【计算机毕设项目】
    一、介绍电影推荐管理系统。本系统使用Python作为主要开发语言,前端采用HTML、CSS、BootStrap等技术语言框架搭建展示界面,后端采用Django作为功能逻辑处理,并使用Ajax实现前端与和后端的通信。其主要实现功能如下:系统平台分为管理员和用户两个角色用户可以登录、注册、查看电影、发表......
  • 使用Python获取建筑网站数据,进行可视化分析,并实现网站JS解密!
    哈喽兄弟们,今天来实现一下建筑市场公共服务平台的数据采集,顺便实现一下网站的JS解密。话不多说,我们直接开始今天的内容。 首先我们需要准备这些环境使用Python3.8Pycharm模块使用requests-->pipinstallrequestsexecjs-->pipinstallPyExecJ......
  • 电影推荐与管理系统Python+Django网页界面+协同过滤推荐算法【计算机毕设项目】
    一、介绍电影推荐管理系统。本系统使用Python作为主要开发语言,前端采用HTML、CSS、BootStrap等技术语言框架搭建展示界面,后端采用Django作为功能逻辑处理,并使用Ajax实现前端与和后端的通信。其主要实现功能如下:系统平台分为管理员和用户两个角色用户可以登录、注册、查看电影......