64 lambda 表达式

news2024/11/24 10:37:03

lambda 表达式常用来声明匿名函数,即没有函数名字的临时使用的小函数,常用在临时需要一个类似于函数的功能但又不想定义函数的场合。

lambda 表达式只可以包含一个表达式,不允许包含其他复杂的语句,但在表达式中可以调用其他函数,该表达式的计算结果相当于函数的返回值。

f = lambda x, y, z: x + y + z  # 可以给 lambda 表达式起一个名字
print(f(1, 2, 3))  # 把 lambda 表达式当作函数使用

g = lambda x, y=2, z=3: x + y + z  # 支持默认值参数
print(g(1))
print(g(2, z=4, y=5))  # 调用时使用关键参数

L = [(lambda x: x ** 2), (lambda x: x ** 3), (lambda x: x ** 4)]
print(L[0](2), L[1](2), L[2](2))

D = {'i': (lambda: 2 + 3), 'j': (lambda: 2 * 3), 'k': (lambda: 2 ** 3)}
print(D['i'](), D['j'](), D['k']())

s = [1, 2, 3, 4, 5]
print(list(map(lambda i: i + 10, s)))  # lambda 表达式作为函数参数

在这里插入图片描述

def func(i):
    return i * i


func(5)
s = [1, 2, 3, 4, 5]
print(list(map(lambda i: func(i), s)))  # lambda表达式中可以调用函数

在这里插入图片描述

data = list(range(20))
import random

random.shuffle(data)
print(data)
data.sort(key=lambda x: x)  # 用在列表的sort方法中,作为函数参数
print(data)
data.sort(key=lambda x: len(str(x)))  # 使用 lambda 表达式指定排序规则
print(data)
data.sort(key=lambda x: len(str(x)), reverse=True)  # 使用 lambda 表达式指定排序规则
print(data)

在这里插入图片描述

在使用 lambda 表达式时,要注意变量作用域可能带来的问题。

s = []
for i in range(10):
    s.append(lambda j=i: j ** 2)
print(s[0](), s[1](), s[-2](), s[-1]())

在这里插入图片描述

在这里插入图片描述

# 相当于只有一条 return i 语句的小函数
f = lambda: i
i = 3

# 调用时真正的返回值取决于全局变量i的值
print(f())

i = 5
print(f())

在这里插入图片描述

虽然使用 lambda 表达式可以很方便灵活地定义一些小函数,但是,如果仅仅是需要一个简单的运算,那么应该尽量使用标准库 operator 中提供的函数,避免自己定义 lambda 表达式,operator 中的函数执行效率更高一些。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1986508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flink实战(10)-checkpoint容错保证

0 前言 程序在 Flink 集群运行,某个算子因为某些原因出现故障,如何处理 在故障恢复后,如何保证数据状态,和故障发生之前的数据状态一致? 1 什么是 checkpoint(检查点)? Checkpoint 能生成快照(Snapshot)。 若 Flink 程序崩…

ResNet 网络中的残差单元

今晚看《深度学习推荐系统实战》这本书,读到这样一句话,残差单元中的两层 ReLU 网络其实拟合的是输出和输入之间的“残差” x o − x i x^o-x^i xo−xi ,想看看微信读书的 AI 问书新功能对这句话怎么理解,原以为会像其他大模型一…

H20 首发!上 Neolink.AI 免费尝鲜

AI 原生服务平台 Neolink.AI 正式上线!Neolink.AI 致力于整合关键要素——算力、数据、知识、模型与企业应用,旨在为 AI-Native 应用的构建提供高效能的 GPU 算力资源和全面的一站式数据与 AI 平台产品服务。 #高性能千卡集群免费尝鲜# 今天&#xff0…

[Vue3] 4 computed

前言 … 目标 1 computed的用法 computed的用法 computed 计算属性用法与vue2的类似 引入 import { reactive,computed } from vue使用 setup(){let person reactive({firstName:张,lastName:三})// 简单写法 - 只有读// person.fullName computed(()>{// return…

Windows11手动安装linux分发版

Manual installation steps for older versions of WSL | Microsoft LearnStep by step instructions to manually install WSL on older versions of Windows, rather than using the wsl install command.https://learn.microsoft.com/en-us/windows/wsl/install-manual下载完…

【算法 03】雇佣问题

“雇用问题”及其算法优化 在日常生活和工作中,我们经常会遇到需要从多个选项中做出选择的情况,而“雇用问题”正是这样一个典型的例子。在这个问题中,我们不仅要考虑如何高效地找到最佳候选人,还要关注整个过程中的成本。今天&a…

Tomcat漏洞

一、Tomcat 漏洞描述 当 Tomcat运行在Windows操作系统时,且启用了HTTPPUT请求方法(例如,将readonly初始化参数由默认值设置为false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的JSP 文件,JSP文件中…

docker系列11:Dockerfile入门

传送门 docker系列1:docker安装 docker系列2:阿里云镜像加速器 docker系列3:docker镜像基本命令 docker系列4:docker容器基本命令 docker系列5:docker安装nginx docker系列6:docker安装redis docker系…

蒲公英G5-2250路由器之收集各种硬件的配置页面

前言:此篇文章是为了更好的让大家了解各个路由器的后台设置页面具体有哪些功能,更加的清晰直观!(如有雷同纯属巧合,如有侵权联系删除!) 云管理平台 本地地址IP/oraybox/login.html 本地配置页…

一把手带你了解Bigo Ads联动休闲真金游戏出海营销策略

一把手带你了解Bigo Ads联动休闲真金游戏出海营销策略 在探索Bigo Ads作为投放海外游戏广告的平台时,精准定位与创意融合成为了成功的关键。首先,深入理解目标市场的文化习俗与玩家偏好至关重要。不同地区的玩家对于游戏类型、画风乃至广告语言风格都有…

【链表OJ】常见面试题 3

文章目录 1.[环形链表II](https://leetcode.cn/problems/linked-list-cycle-ii/description/)1.1 题目要求1.2 快慢指针1.3 哈希法 2.[随机链表的复制](https://leetcode.cn/problems/copy-list-with-random-pointer/description/)2.1 题目要求2.2 迭代法 1.环形链表II 1.1 题目…

KEIL5芯片包下载

一、打开KEIL芯片包下载网址 Arm Keil | Devices 二、搜索要下载的芯片型号 三、安装

CSP初赛知识点讲解(二)

CSP初赛知识点讲解(二) 进制转换基本定义n进制转十进制十进制转n进制n进制转m进制小数的进制转换 例题训练(四) 进制转换 基本定义 十进制:逢十进一(包含数字0~9) ( 365 ) 10 3 1 0 2 6 1 0 1 5 1 0 0 (365)_{…

如何提高编程能力?(来自准大三学长的含泪建议)

种一棵树最好是十年前,其次是现在 想了解更多内容可以看我主页:GGBondlctrl-CSDN博客 1.前言 以下是小编的亲身经历哟 (1)大一,摆烂 -------和每个人一样,大学都是带着美好的憧憬,我开始学习…

Apache漏洞

四、 CVE-2021-41773 Apache HTTP Server 路径穿越漏洞 漏洞简介 该漏洞是由于Apache HTTP Server 2.4.49版本存在目录穿越漏洞,在路径穿越目录<Directory/>Require all granted</Directory>允许被访问的的情况下(默认开启)攻击者可利用该路径穿越漏洞读取到Web…

C++ 基础练习 - Chapter 12 (基础练习 完结版)

Review Questions 12.1 What is generic Programming? How is it implemented in C? Answer: Generic programming is an approach where generic types are used as parameters in algorithms so that they work for variety of suitable data types and data structures…

【Spring】通过Aspects实现面向切面编程(AOP)

目录 1.概念理解 2. 案例说明 1.概念理解 【注】一些概念来自&#xff1a;https://blog.csdn.net/Kaiser__/article/details/135894150 横切关注点 分散在每个各个模块中解决同一样的问题&#xff0c;如用户验证、日志管理、事务处理、数据缓存都属于横切关注点。这个概念不是…

【C++刷题】优选算法——贪心第一辑

什么是贪心算法 贪心策略&#xff1a;局部最优 -> 全局最优 “贪婪鼠目寸光” 1、把解决问题的过程分为若干步 2、解决每一步的时候&#xff0c;都选择当前看起来“最优的”解法 3、“希望”得到全局最优解 贪心算法的特点 贪心策略的提出是没有标准或者模板的 正确的贪心策…

项目小结(中)

一.文件分片上传 在文件上传的逻辑中&#xff0c;文件以MD5唯一&#xff0c;然后记录已经储存的文件md5&#xff0c;如果已上传&#xff0c;就秒传&#xff0c;并记录班级上传文件信息。 如果请求文件上传时&#xff0c;发现班级已经上传了一部分&#xff0c;这里就会把班级上…

秋招复习笔记——八股文部分:网络IP

终于来到了网络的最后一篇&#xff0c;继续加油&#xff01; IP 知识全家桶 IP 基本认识 IP 在 TCP/IP 参考模型中处于第三层&#xff0c;也就是网络层。 网络层的主要作用是&#xff1a;实现主机与主机之间的通信&#xff0c;也叫点对点&#xff08;end to end&#xff09…