第 10 课 Python 内置函数 (增补)

embedded/2025/1/31 18:05:57/

1.enumerate

     enumerate() 接受一个可迭代对象作为输入,并返回一个枚举对象这个枚举对象包含了原始可迭代对象中的每个元素以及对应的索引它允许在循环中同时获取索引和值,这对于需要索引的情况非常方便

        作用:在循环中需要同时访问索引和值时非常有用可以简化代码,使得代码更加清晰易读

python"># 定义一个列表
fruits = ['apple', 'banana', 'cherry', 'date']# 使用 enumerate() 迭代列表并打印索引和值
print("使用 enumerate():")
for index, fruit in enumerate(fruits):print(f"索引 {index}: 值 {fruit}")# 使用 enumerate() 创建字典,将列表中的值作为键,索引作为值
print("\n使用 enumerate() 创建字典:")
fruit_dict = {fruit: index for index, fruit in enumerate(fruits)}
print(fruit_dict)
python">结果打印如下:使用 enumerate():
索引 0: 值 apple
索引 1: 值 banana
索引 2: 值 cherry
索引 3: 值 date使用 enumerate() 创建字典:
{'apple': 0, 'banana': 1, 'cherry': 2, 'date': 3}

2.迭代器iter

        对于list、string、tuple、dict等这些容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调用iter()函数。iter()是python内置函数。iter()函数会返回一个定义了next()方法的迭代器对象,它在容器中逐个访问容器内的元素。next()也是python内置函数。在没有后续元素时,next()会抛出一个StopIteration异常,通知for语句循环结束。

        迭代器是用来帮助我们记录每次迭代访问到的位置,当我们对迭代器使用next()函数的时候逐个获取了迭代器对象中的数据元素。

        可迭代对象:实现了迭代器协议对象。list、tuple、dict都是Iterable(可迭代对象),但不是Iterator(迭代器对象)。但可以使用内建函数iter() ,把这些都变成Iterable(可迭代器对象)。

        for item in Iterable 循环的本质就是先通过iter()函数获取可迭代对象Iterable的迭代器,然后对获取到的迭代器不断调用next()方法来获取下一个值并将其赋值给item,当遇到StopIteration的异常后循环结束

    3. slice

        slice()是Python内置函数之一,用于创建切片对象。切片对象可以用于对序列进行切片操作,如字符串、列表、元组等。

        slice() 函数语法格式:slice(start, stop[, step])

其中,start、stop和step都是可选参数,分别表示切片的起始位置、终止位置和步长。

如果不指定start,则默认从序列的起始位置开始;
如果不指定step,则默认为1。step不能为0。
slice()函数返回的是一个切片对象,可以用于对序列进行切片操作。

例如:

        lst = [1, 2, 3, 4, 5]
        s = slice(1, 4)
        lst[s] # [2, 3, 4]

  4.lambda

        lambda 表达式是Python中的一种简洁的匿名函数表达方式,它用于创建简单的函数,通常在不需要定义完整函数的情况下使用。lambda 表达式的语法非常简洁,适合编写一行的小函数。

        其语法格式:lambda 参数1, 参数2, ... : 表达式

  • lambda 引导关键字,表示这是一个匿名函数。
  • 后面紧跟参数,参数之间用逗号分隔。
  • 冒号后是函数的表达式,也就是返回值。

        例如: lambda x, y: x + y


http://www.ppmy.cn/embedded/158421.html

相关文章

GESP2024年3月认证C++六级( 第三部分编程题(1)游戏)

参考程序&#xff1a; #include <cstdio> using namespace std; const int N 2e5 5; const int mod 1e9 7; int n, a, b, c; int f[N << 1]; int ans; int main() {scanf("%d%d%d%d", &n, &a, &b, &c);f[N n] 1;for (int i n; i…

【Block总结】DynamicFilter,动态滤波器降低计算复杂度,替换传统的MHSA|即插即用

论文信息 标题: FFT-based Dynamic Token Mixer for Vision 论文链接: https://arxiv.org/pdf/2303.03932 关键词: 深度学习、计算机视觉、对象检测、分割 GitHub链接: https://github.com/okojoalg/dfformer 创新点 本论文提出了一种新的标记混合器&#xff08;token mix…

【Go语言圣经】第五节:函数

第五章&#xff1a;函数 5.1 函数声明 和其它语言类似&#xff0c;Golang 的函数声明包括函数名、形参列表、返回值列表&#xff08;可省略&#xff09;以及函数体&#xff1a; func name(parameter-list) (result-list) {/* ... Body ... */ }需要注意的是&#xff0c;函数…

性能优化案例:通过合理设置spark.default.parallelism参数的值来优化PySpark程序的性能

在 PySpark 中&#xff0c;spark.default.parallelism 是一个关键参数&#xff0c;直接影响作业的并行度和资源利用率。 通过合理设置 spark.default.parallelism 并结合数据特征调整&#xff0c;可显著提升 PySpark 作业的并行效率和资源利用率。建议在开发和生产环境中进行多…

F. Ira and Flamenco

题目链接&#xff1a;Problem - F - Codeforces 题目大意&#xff1a;给n,m n个数让从中选m个数满足一下条件&#xff1a; 1.m个数互不相同 2.里面的任意两个数相减的绝对值不能超过m 求这n个数有多少组数据满足。 第一行包含一个整数 t ( 1 ≤ t ≤ 1e4 ) - 测试用例数。 …

跟李沐学AI:视频生成类论文精读(Movie Gen、HunyuanVideo)

Movie Gen&#xff1a;A Cast of Media Foundation Models 简介 Movie Gen是Meta公司提出的一系列内容生成模型&#xff0c;包含了 3.2.1 预训练数据 Movie Gen采用大约 100M 的视频-文本对和 1B 的图片-文本对进行预训练。 图片-文本对的预训练流程与Meta提出的 Emu: Enh…

青少年编程与数学 02-008 Pyhon语言编程基础 05课题、数据类型

青少年编程与数学 02-008 Pyhon语言编程基础 05课题、数据类型 一、数据类型1. 数字类型&#xff08;Numeric Types&#xff09;2. 序列类型&#xff08;Sequence Types&#xff09;3. 集合类型&#xff08;Set Types&#xff09;4. 映射类型&#xff08;Mapping Type&#xff…

【redis进阶】redis 总结

目录 介绍一下什么是 Redis&#xff0c;有什么特点 Redis 支持哪些数据类型 Redis 数据类型底层的数据结构/编码方式是什么 ZSet 为什么使用跳表&#xff0c;而不是使用红黑树来实现 Redis 的常见应用场景有哪些 怎样测试 Redis 服务器的连通性 如何设置 key 的过期时间 Redis …