python之enumerate()函数使用总结

        enumerate() 函数是一个内置函数,用于在迭代过程中同时获取元素的索引和值。它返回一个枚举对象,包含了索引和对应的元素。

1. enumerate() 函数的语法

如下:

enumerate(iterable, start=0)

        参数说明:

                iterable:必需,一个可迭代对象,如列表、元组、字符串等。

                start:可选,指定索引的起始值,默认为 0。

2. enumerate() 函数的用法

2.1 基本用法

fruits = ['apple', 'banana', 'orange']
for index, fruit in enumerate(fruits):
    print(index, fruit)

输出结果:

0 apple
1 banana
2 orange

2.2 指定起始索引

fruits = ['apple', 'banana', 'orange']

for index, fruit in enumerate(fruits, start=1):
    print(index, fruit)

输出结果:

1 apple
2 banana
3 orange

2.3 结合解包(unpacking)

for index, _ in enumerate(fruits):
    print(index)

输出结果:

0
1
2

在上述情况下,可以使用下划线 _ 来表示不需要的值,以减少内存消耗。

2.4 枚举对象转换为列表或元组

enum_list = list(enumerate(fruits))
enum_tuple = tuple(enumerate(fruits))

print(enum_list)
print(enum_tuple)

输出结果:

[(0, 'apple'), (1, 'banana'), (2, 'orange')]
((0, 'apple'), (1, 'banana'), (2, 'orange'))

可以使用 list() 或 tuple() 函数将枚举对象转换为列表或元组。

上述是 enumerate() 函数的一些常见用法。

当使用enumerate()函数时,还可以结合其他常用的Python函数和技巧来实现更多功能。

2.5 获取特定条件的元素索引

fruits = ['apple', 'banana', 'orange']

# 查找元素为'banana'的索引
index = next((index for index, fruit in enumerate(fruits) if fruit == 'banana'), None)
print(index)

输出结果: 1

在上述示例中,使用了生成器表达式和next()函数来查找列表中特定元素('banana')的索引。

2.6 反向遍历列表并获取索引

for index, fruit in enumerate(reversed(fruits)):
    print(index, fruit)

输出:

0 orange
1 banana
2 apple

通过使用reversed()函数,可以反向遍历列表并获取相应的索引和值。

2.7 枚举多个可迭代对象

fruits = ['apple', 'banana', 'orange']
prices = [1.0, 0.5, 0.8]

for index, (fruit, price) in enumerate(zip(fruits, prices)):
    print(index, fruit, price)

输出结果:

0 apple 1.0
1 banana 0.5
2 orange 0.8

在上述示例中,使用了zip()函数将多个可迭代对象(fruits和prices)进行组合,并使用enumerate()获取索引和对应的值。

2.8 枚举字典的键值对

fruits = {'apple': 1.0, 'banana': 0.5, 'orange': 0.8}

for index, (fruit, price) in enumerate(fruits.items()):
    print(index, fruit, price)
输出结果:
0 apple 1.0
1 banana 0.5
2 orange 0.8

        通过使用items()方法,可以将字典的键值对转换为可迭代对象,并使用enumerate()获取索引和对应的键值对。

       上述是一些扩展的enumerate()函数用法示例,可以根据具体需求进行灵活运用。enumerate()函数在处理需要索引的迭代过程中非常有用,可以简化代码并提高可读性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

string讲解和实现

认识string string是将basic_string<char>重新定义了 basic_string是一个类模板&#xff0c;里面包括了一些列的有关字符的函数 注意&#xff1a;insert/erase/replace能不要就不用&#xff0c;他们都涉及挪动数据&#xff0c;效率不高 size_t注意 面对无符号整形size_t在…

静态住宅代理 IP 的影响

在不断发展的在线业务和数字营销领域&#xff0c;保持领先地位势在必行。在业界掀起波澜的最新创新之一是静态住宅代理 IP 的利用。这些知识产权曾经是为精通技术的个人保留的利基工具&#xff0c;现在正在成为各行业企业的游戏规则改变者。 一、静态住宅代理IP到底是什么&…

互联网轻量级框架整合之HibernateMyBatis

持久层框架 Hibernate 假设有个数据表&#xff0c;它有3个字段分别是id、rolename、note, 首先用IDEA构建一个maven项目Archetype选择org.apache.maven.archetypes:maven-archetype-quickstart即可&#xff0c;配置如下pom <project xmlns"http://maven.apache.org/…

应用FMEA打造零风险供应链的关键因素有哪些?

当下&#xff0c;构建零风险的供应链已成为企业竞争的核心要素。其中&#xff0c;FMEA&#xff08;故障模式与影响分析&#xff09;作为一种预防性的质量工具&#xff0c;对于识别和消除潜在风险&#xff0c;优化供应链流程至关重要。本文&#xff0c;天行健六西格玛管理培训公…

sklearn的make_blobs函数

make_blobs是一个用于生成随机数据点的实用函数&#xff0c; from sklearn.datasets import make_blobs X,Y make_blobs(n_samples2000,n_features2,centers12,cluster_std0.05,center_box[-5,5],random_state21)n_samples: 要生成的样本数量。centers: 要生成的簇&#xff0…

linux文本三剑客之awk

目录 1、特点与应用场景 2、awk命令执行流程 3、awk行与列 1)awk取行 2)awk取列 3)awk行与列综合使用 4、awk模式匹配-正则匹配 5、awk模式匹配-范围模式 6、awk模式匹配-特殊模式 7、awk数组* 1) 用途 2&#xff09;格式对比 8、awk循环与判断 1、特点与应用场景…

App测试基本流程以及注意事项

1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间&#xff0c;一般测试时间为两三周&#xff08;即15个工作日&#xff09;&#xff0c;根据项目情况以及版本质量可适当缩短或延长测试时间。 1.3测试资源 测试任务开始前&#xff0c;检查…

Neo4j+LLM+RAG 环境配置报错处理

开发KGLLMRAG程序时遇到以下报错&#xff0c;记录下处理方案&#xff1a; ValueError: Could not use APOC procedures. Please ensure the APOC plugin is installed in Neo4j and that ‘apoc.meta.data()’ is allowed in Neo4j configuration 这个参考文章&#xff1a;link…

【平台开发】MTK6833——cache操作记录

CPU Cache 用的是一种叫 SRAM&#xff08;Static Random-Access Memory&#xff0c;静态随机存储器&#xff09; 的芯片。 通常分为L1&#xff0c;L2&#xff0c;L3三层缓存。 CPU 并不会直接和每一种存储器设备直接打交道&#xff0c;而是每一种存储器设备只和它相邻的存储器…

vue2 Avoided redundant navigation to current location

再次点击同一个链接会报错 每次使用 push 方法时带上两个回调函数 this.$router.push({name: item.name}, ()>{}, ()>{}) //第二、第三个参数分别为成功和失败的回调函数重写 Vue-router 原型对象上的 push 函数不行 https://blog.csdn.net/weixin_43615570/article/d…

python入门demo实例-个人信息收集页面实现

dd 今天是python入门day2&#xff0c;先看一下本案例demo的样子吧~ 一个简单得html页面&#xff0c;个人信息收集界面。 案例介绍常用得input 元素 文本框&#xff0c;密码&#xff0c;邮箱。文件上传等实现。 资源下载&#xff1a;python案例demo个人信息收集页面实现资源-…

微信公众号有哪些类型,微信服务号和订阅号有哪些区别

什么是微信公众号&#xff1f; 微信公众号是国内社交媒体平台微信上的公众账号。它们是允许公司发布内容&#xff0c;收集追随者并推广其产品或服务的商业帐户。微信公众号主要有两种类型&#xff1a;订阅账号和服务账号。 微信月活跃用户突破12亿 微信最近达到了平台上的月活…

jmeter利用自身代理录制脚本

在利用代理录制脚本时一定要安装java jdk&#xff0c;不然不能录制的。 没有安装过java jdk安装jmeter后打开时会提示安装jdk&#xff0c;但是mac系统中直接打开提示安装jdk页面后下载的java并不是jdk&#xff08;windows中没有试验过&#xff0c;笔者所说的基本全部指的是在ma…

区块链 | NFT 水印:Review on Watermarking Techniques(二)

&#x1f34d;原文&#xff1a;Review on Watermarking Techniques Aiming Authentication of Digital Image Artistic Works Minted as NFTs into Blockchains 1 半脆弱和可逆水印 鲁棒性好的水印技术通常会产生非常低透明度。正如前面所述&#xff0c;由于透明度在处理数字…

智慧公厕:一个让城市公共厕所更智能、更便利的信息化方案

公共厕所一直是城市管理中的一个难题。但是&#xff0c;随着科技的不断发展&#xff0c;智慧公厕正在成为解决这个问题的全新方案。智慧公厕不仅具备传统公厕的基本功能&#xff0c;更是通过信息化技术&#xff0c;实现了空余智能引导、环境监测、资源消耗监测、安全防范管理、…

【数据分析面试】38.更新图书馆数据(Python)

题目 作为一名精通Python的图书管理员&#xff0c;你正在搭建一个更高效地更新图书数据的系统。 编写一个名为 update_availability 的函数&#xff0c;用于更新数据表中特定 book_id 的 availability 值&#xff0c;并返回更新后的数据表。 注意: 如果找不到 book_id&#…

如何缩小图片大小kb?6个压缩图片大小的软件教你快速压缩

如何缩小图片大小kb&#xff1f;6个压缩图片大小的软件教你快速压缩 当需要缩小图片的大小&#xff08;KB&#xff09;时&#xff0c;可以利用一系列专门设计的工具和软件来帮助完成这一任务。这些工具可以有效地减小图片的文件大小&#xff0c;而又不会明显降低图片的质量。以…

小麦穗检测数据集VOC+YOLO格式6508张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6508 标注数量(xml文件个数)&#xff1a;6508 标注数量(txt文件个数)&#xff1a;6508 标注…

MyBatis(XML映射器操作)

文章目录 XML映射器操作&#xff08;XxxMapper.xml&#xff09;文件目录1.基本介绍1.优点2.常用顶级元素 2.环境配置1.在原来的父模块下创建一个子模块2.删除没用的两个文件夹3.创建基本目录4.父模块的pom.xml5.jdbc.properties6.mybatis-config.xml7.测试使用MonsterMapperTes…

诛吕政变后,为何会是代王刘恒登上皇位?

公元前179年——这一年对于汉帝国而言是非常特殊的一年。在这一年&#xff0c;汉惠帝的所有儿子被秘密杀害。也就在这一年&#xff0c;远在北疆的诸侯王——代王刘恒在汉朝功臣周勃、丞相陈平等人的支持下在长安登基。 自此&#xff0c;汉朝皇位完成了一次“乾坤大挪移”——汉…