百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

3分钟了解 Python 中的枚举(python的枚举和for循环)

off999 2024-09-18 22:39 35 浏览 0 评论


1. 理解枚举

其核心是 enumerate 向可迭代对象添加计数器,并将其作为可枚举对象返回。当在迭代期间需要项目及其索引时,此函数会大放异彩。

基本语法:

enumerate(iterable, start=0)
  • iterable:任何支持迭代的对象,如列表、元组、字符串。
  • start:计数器的起始索引(默认值为 0)。

2. 如何在 Python 中使用枚举?

2.1. 使用索引进行简单迭代

没有 enumerate ,手动处理索引可能会很麻烦:

不带枚举的示例:

fruits = ["apple", "banana", "cherry"]
i = 0

for fruit in fruits:
    print(i, fruit)
    i += 1

输出:

0 apple
1 banana
2 cherry

枚举示例:

fruits = ["apple", "banana", "cherry"]

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

3.2. 从不同的索引开始

根据需要自定义起始索引:

fruits = ["apple", "banana", "cherry"]

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

输出:

1 apple
2 banana
3 cherry

3.3. Enumerate 在列表推导式中的高级使用

结合 enumerate 列表推导式实现高效操作:

fruits = ["apple", "banana", "cherry"]
indexed_fruits = [(index, fruit) for index, fruit in enumerate(fruits)]

print(indexed_fruits)

输出:

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

3. 高效使用技巧

  1. 增强可读性: enumerate 在需要项目和索引的循环中表现出色,提供更具可读性的代码。
  2. 性能优势:用 C 语言实现, enumerate 比基于 Python 的索引处理更快。
  3. 元组解包:它返回元组,从而在循环中实现优雅的解包。
  4. 广泛的适用性:与任何可迭代无缝协作。

4. 枚举的优点

  • 代码清晰度:提供更干净、更 Python 的代码。
  • 速度:在大多数情况下,性能优于手动索引处理。
  • 启动索引灵活性:可以从任何整数开始计数。

5. 枚举的缺点

  • 轻微开销:对于巨大的迭代对象,开销可能很明显。
  • 利基用途:其效用仅限于需要索引的方案。

6. 常见错误和误解

1. 元组解包监督:一个常见的错误是忽略解包元组。

for item in enumerate(fruits):
    print(item)

输出:

(0, 'apple')
(1, 'banana')
(2, 'cherry')

2、更改迭代对象:在迭代过程中修改迭代对象可能会导致不可预测的结果。为安全起见,循环访问副本。

3.与范围混淆: enumerate 不应误认为 range(len(sequence)) ,因为 enumerate 直接产生项目,而不仅仅是索引。

相关推荐

重装系统后硬盘不见了(重装系统后磁盘不见了)

硬盘不见可能是因为重装系统时未正确安装驱动程序或未对硬件进行正确设置。你可以按以下步骤排查问题:进入BIOS检查硬盘是否被识别,尝试重新连接数据线和电源线,更新或安装适当的硬件驱动程序,或者使用硬件故...

冰封u盘装win7系统教程图解(冰封u盘启动装机教程)

1.查找激活工具:通常来说,Win7冰封系统已经包含了必要的驱动,所以如果你的电脑上并没有出现设备错误,那你就可以正常使用。如果你需要添加任何驱动,请尝试从厂商下载相应的驱动并执行自动安装程序。如果...

ppt软件电脑版推荐(电脑ppt软件下载哪个版好)
  • ppt软件电脑版推荐(电脑ppt软件下载哪个版好)
  • ppt软件电脑版推荐(电脑ppt软件下载哪个版好)
  • ppt软件电脑版推荐(电脑ppt软件下载哪个版好)
  • ppt软件电脑版推荐(电脑ppt软件下载哪个版好)
兄弟打印机怎么连接wifi(兄弟打印机怎么连接wifi手机打印)
  • 兄弟打印机怎么连接wifi(兄弟打印机怎么连接wifi手机打印)
  • 兄弟打印机怎么连接wifi(兄弟打印机怎么连接wifi手机打印)
  • 兄弟打印机怎么连接wifi(兄弟打印机怎么连接wifi手机打印)
  • 兄弟打印机怎么连接wifi(兄弟打印机怎么连接wifi手机打印)
uefi模式下找不到硬盘(uefi引导找不到硬盘)

首先你的安装盘必须是从UEFI启动的,然后它才能安装为UEFI启动。(条件:Fat32文件系统,efi文件夹)其次你MBR+BIOS的系统想换成GPT+EFI的,分区得做一点改动,腾出来100M的空...

win7怎么安装蓝牙驱动程序(win7电脑安装蓝牙驱动教程)

方法如下:  1、再开始里点击控制版面,点击【硬件和声音】找到【添加设备】  2、之后再选择你要添加的蓝牙耳机。  3、系统就会提示正在与蓝牙适配器连接,然后提示添加成功。  4、点击“开始”-“...

怎么装系统win7旗舰版(电脑怎么装win7旗舰版)

1、目前支持64位的Wincc版本有:WinccV7Sp3、WinccV11Sp2、WinccV12。2、Wincc的V11与V12两个版本不能共存,即不能同时安装在同一台电脑上。上述这两...

u盘恢复工具免费版(u盘文件恢复工具免费版)
  • u盘恢复工具免费版(u盘文件恢复工具免费版)
  • u盘恢复工具免费版(u盘文件恢复工具免费版)
  • u盘恢复工具免费版(u盘文件恢复工具免费版)
  • u盘恢复工具免费版(u盘文件恢复工具免费版)
qq特别关心查询入口电脑版(电脑版qq特别关心网站登录)
  • qq特别关心查询入口电脑版(电脑版qq特别关心网站登录)
  • qq特别关心查询入口电脑版(电脑版qq特别关心网站登录)
  • qq特别关心查询入口电脑版(电脑版qq特别关心网站登录)
  • qq特别关心查询入口电脑版(电脑版qq特别关心网站登录)
怎样恢复桌面图标原样(怎样恢复桌面图标原样显示)

桌面图标恢复原样步骤方法如下:1.右键点击图标、并点击‘属性’两字,再点击‘打开文件位置‘2.然后找到文件所在的位置,然后暂时将文件在一旁放着3.然后再去点击‘更换图标’这四个字,找到刚刚打开的文件...

消除u盘写保护(怎么解除u盘写保护)

如果您的U盘启用了写保护功能,可以尝试以下几种方法来解除写保护:1.检查U盘上的物理写保护开关:部分U盘有一个物理的写保护开关,可以在U盘的外壳上找到。请确保开关处于非写保护状态。2.使用CMD命...

microsoft国际版(微软国际版bing)

win10系统自带的edge浏览器不分国内版和国际版。搜索引擎Bing分为国内版和国际版,区别如下一、迎合不同人群的需求。国际版显得更加个性,他迎合了不同人群的需求,在收缩上更加方便化和智能化,后期可...

为什么格式化sd卡后不能用了

SD卡受损后不格式化直接修复的方法:1,当系统发现SD卡受损之后,会提示进行格式化。2,把SD卡插入读卡器,接到电脑USB后,电脑提示格式化,点取消。然后查看一下属性。直接使用属性中的工具-开始检查...

c盘删除的东西能恢复吗(c盘删掉的东西还在吗)

    1.重新安装。  如果是安装在c盘下的普通应用程序,重新下载安装即可;  2.备份恢复或重装系统。  如果是删除了系统文件,在系统备过份且知道删除...

电脑如何重装系统winxp(电脑如何重装xp系统教程)

重装XP系统的步骤如下:1.首先备份您的重要文件和数据。2.插入XP系统安装光盘,重新启动计算机。3.在启动时按下计算机制造商指定的键(通常是F2、F12、Esc等)进入BIOS设置或启动菜单。...

取消回复欢迎 发表评论: