Python 程序设计入门(015)—— enumerate() 函数的用法
Python 程序设计入门(015)—— enumerate() 函数的用法
目录
- Python 程序设计入门(015)—— enumerate() 函数的用法
- 一、enumerate() 函数的语法
- 二、为可迭代对象创建索引
- 三、将字符串、列表等转换为字典
- 1、将字符串转换为字典
- 2、将列表转换为字典,把序号作为字典的键
- 3、将列表转换为字典,把序号作为字典的值
- 四、为字典的键建立索引
一、enumerate() 函数的语法
enumerate() 函数的作用是将一个可遍历或可迭代的对象按照设置的序号组成一个索引序列。语法格式如下:
enumerate(iterable[,start])
说明:
(1)iterable:表示一个序列、迭代器或其他支持迭代的对象。
(2)start:用于设置下标的起始位置,默认为0。
(3)函数返回一个列表(类型为:enumerate),列表由新生成的序号和原有数据组成的元组构成。
例如:
lang = ["java","go","c","vb","c++"]
list1 = enumerate(lang,1)
print("list1的类型:",type(list1))
print(list1)
print(list(list1))
for i in enumerate(lang,1):print(i)运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
list1的类型: <class 'enumerate'>
<enumerate object at 0x000001E137D1F780>
[(1, 'java'), (2, 'go'), (3, 'c'), (4, 'vb'), (5, 'c++')]
(1, 'java')
(2, 'go')
(3, 'c')
(4, 'vb')
(5, 'c++')
二、为可迭代对象创建索引
enumerate() 函数可以快速实现对可迭代对象中的元素建立索引和编号。例如:
stu = ["刘刚","张静静","王芸","张云涛","刘贝贝"]
list1 = enumerate(stu,1)
for item in list1:print(item)运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
(1, '刘刚')
(2, '张静静')
(3, '王芸')
(4, '张云涛')
(5, '刘贝贝')
也可以在序列中直接使用 enumerate() 函数:
stu = ["刘刚","张静静","王芸","张云涛","刘贝贝"]
for item in enumerate(stu,1):print(item)运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
(1, '刘刚')
(2, '张静静')
(3, '王芸')
(4, '张云涛')
(5, '刘贝贝')
字符串可以使用 enumerate() 函数建立索引序号:
str = "张王李赵刘曹关"
for item in enumerate(str,1):print(item)运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
(1, '张')
(2, '王')
(3, '李')
(4, '赵')
(5, '刘')
(6, '曹')
(7, '关')
三、将字符串、列表等转换为字典
1、将字符串转换为字典
str = "张王李赵刘曹关"
name = dict(enumerate(str,1))
print(name)运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
{1: '张', 2: '王', 3: '李', 4: '赵', 5: '刘', 6: '曹', 7: '关'}
2、将列表转换为字典,把序号作为字典的键
str = ["马芸","马花疼","黄征","丁蕾","许志军","张三疯"]
name = dict(enumerate(str,1))
print(name)运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
{1: '马芸', 2: '马花疼', 3: '黄征', 4: '丁蕾', 5: '许志军', 6: '张三疯'}
3、将列表转换为字典,把序号作为字典的值
str = ["马芸","马花疼","黄征","丁蕾","许志军","张三疯"]
name = dict((item,i) for i,item in enumerate(str,1))
print(name)运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
{'马芸': 1, '马花疼': 2, '黄征': 3, '丁蕾': 4, '许志军': 5, '张三疯': 6}
四、为字典的键建立索引
使用 enumerate() 函数可以为字典的键建立索引,生成由序号与字典的键组成的元组。例如:
dict = {"马芸":20,"马花疼":85,"黄征":76,"丁蕾":88,"许志军":102,"张三疯":56}
for item in enumerate(dict,1):print(item)
for i,item in enumerate(dict,1):print(i,":",item,end=" ")运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
(1, '马芸')
(2, '马花疼')
(3, '黄征')
(4, '丁蕾')
(5, '许志军')
(6, '张三疯')
1 : 马芸 2 : 马花疼 3 : 黄征 4 : 丁蕾 5 : 许志军 6 : 张三疯
相关文章:
Python 程序设计入门(015)—— enumerate() 函数的用法
Python 程序设计入门(015)—— enumerate() 函数的用法 目录 Python 程序设计入门(015)—— enumerate() 函数的用法一、enumerate() 函数的语法二、为可迭代对象创建索引三、将字符串、列表等转换为字典1、将字符串转换为字典2、…...
__dict__属性
__dict__ 是 Python 中的一个特殊属性,通常存在于大多数 Python 对象中,用于存储该对象的可变属性。 以下是关于 __dict__ 的一些关键点和详细信息: 存储属性:对于大多数自定义的 Python 对象,__dict__ 属性包含了这个…...
k8s之Pod控制器
目录 一、Pod控制器及其功用二、pod控制器的多种类型2.1 pod容器中的有状态和无状态的区别 三、Deployment 控制器四、SatefulSet 控制器4.1 StatefulSet由以下几个部分组成4.2 为什么要有headless?4.3 为什么要有volumeClaimTemplate?4.4 滚动更新4.5 扩…...
逆元(求乘法逆元的几种方法)
目录 逆元 加法逆元 乘法逆元 如何求 快速幂 扩展欧几里得 O(n)求1到n的乘法逆元 逆元 数学中,逆元素(英语:Inverse element)推广了加法中的加法逆元和乘法中的倒数。直观地说,它是一个可以取消另一给定元素运…...
没点本事,还真做不好数字化转型
数字化转型逐渐成为企业业务增长的利器 然而,在此过程中 企业最应该注重哪些? 效率?质量? 但还有一个至关重要的点不容忽视 那就是安全 有一家硬核企业通过技术与狠活 硬生生提升了应用安全性 保障了产业与数字化的安全融合…...
windows 10 远程桌面配置
1. 修改远程桌面端口(3389) 打开注册表(winr), 输入regedit 找到配置项【计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server\Wds\rdpwd\Tds\tcp】 , 可以通过搜索“Wds”快速定位。 修改端口配…...
OpenStreetMap 上基于A*搜索算法的C ++路线规划项目
引言 在现代的地理信息系统(GIS)中,路线规划是一个重要的组成部分。它涉及到从一个地点到另一个地点的最优路径的确定。在这篇文章中,我们将探讨如何在OpenStreetMap数据上实现一个基于A*搜索算法的C路线规划项目。 OpenStreetM…...
java实现随机生成验证码
import java.util.concurrent.ThreadLocalRandom;/* 生成验证码的工具 可动态配置验证码长度*/ public class CodeUtils {public static void main(String[] args) {//随机生成5个长度为4的验证码for (int i 0; i < 5; i) {System.out.println(CodeUtils.getCode(4));}for …...
Positive证书是什么?
Positive SSL是全球著名CA Sectigo的子品牌, 也是目前全球签发量最高的商业SSL证书。价格低,安全性高,在个人网站和中小型企业网站中拥有极高的占有率。 Positive SSL证书包括DV SSL, EV SSL,也是唯一支持IP地址加密的…...
vulnhub靶场-y0usef笔记
vulnhub靶场-y0usef笔记 信息收集 首先fscan找到目标机器ip http://192.168.167.70/ nmap扫描端口 Host is up (0.00029s latency). Not shown: 998 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ub…...
华为智选首款纯电轿跑“LUXEED”能大卖吗?
监制 | 何玺 排版 | 叶媛 华为智选纯电轿跑来袭! 8月7日,华为常务董事余承东在社交媒体上发文,宣布华为智选即将推出首款“突破想象”的纯电轿跑车。 01 华为智选首款纯电轿跑来袭 余承东的发文引起了极大关注,在各大媒体的报…...
ArcGIS API for JavaScript 3.44 地图Demo示例合集
ArcGIS API for JavaScript 3.44 demo合集 (一)创建地图(二)基准图库(三)编辑书签(四)主页按钮(五)LayerList小部件(六)测量小工具&am…...
RFID工业识别技术:供应链智能化的科技颠覆
RFID工业识别技术,作为物联网的先锋,正在供应链管理领域展现着前所未有的科技颠覆。从物料追踪到库存管理,再到物流配送,RFID技术以其高效的数据采集和智能的自动化处理,彻底改变着传统供应链的运营方式。 RFID在物料追…...
行列转换两例的思考
1、多行转成一列 (1)、建测试表及插入测试数据 create table t(i int,a varchar2(1)); insert into t(i,a) select 1,a from dual union all select 1,b from dual union all select 1,d from dual union all select 1,e from dual union all select 2,z from dual union all…...
高德地图 SDK 接口测试接入(AndroidTest 上手)
学习资料 官方文档 在 Android 平台上测试应用 | Android 开发者 | Android Developers 测试了解 【玩转Test】开篇-Android test 介绍 Android单元测试全解_android 单元测试_一代小强的博客-CSDN博客 Android单元测试-对Activity的测试_activitytestrule_许佳佳233的博客…...
省电模式稳定电压显示IC32×4 LCD显示驱动芯片
简述 VK1C21A是一个点阵式存储映射的LCD驱动器,可支持最大128点(32SEGx4COM) 的LCD屏,也支持2COM和3COM的LCD屏。单片机可通过3/4个通信脚配置显示参数和发 送显示数据,也可通过指令进入省电模式。具备高抗干扰&a…...
分布式架构的观测
分布式架构的观测 日志日志的输出收集与缓冲加工与聚合存储与查询 追踪数据收集 度量 在一个分布式应用中,如果出现了某个异常,那我们必然不可能只依靠 awk、grep 等命令来查看日志分析问题,往往分布式架构的一个异常都贯通多个节点ÿ…...
交替方向乘子
目录 一,交替方向乘子ADMM 1,带线性约束的分离优化模型 2,常见优化模型转带线性约束的分离优化模型 3,带线性约束的分离优化模型求解 4,交替方向乘子ADMM 本文部分内容来自教材 一,交替方向乘子ADMM …...
9-数据结构-栈(C语言版)
数据结构-栈(C语言版) 目录 数据结构-栈(C语言版) 1.栈的基础知识 1.入栈,出栈的排列组合 情景二:Catalan函数(计算不同出栈的总数) 2.栈的基本操作 1.顺序存储 (1)顺序栈-定义…...
C#,数值计算——用于从连续的数据值流估计任意分位数的计算方法与源程序
1 分位数Quantile 分位数(Quantile),亦称分位点,是指将一个随机变量的概率分布范围分为几个等份的数值点,常用的有中位数(即二分位数)、四分位数、百分位数等。 2 常见各类分位数 2.1 二分位…...
Linux系统构建终极指南:从零开始配置虚拟控制台和getty服务
Linux系统构建终极指南:从零开始配置虚拟控制台和getty服务 【免费下载链接】build-linux A short tutorial about building Linux based operating systems. 项目地址: https://gitcode.com/gh_mirrors/bu/build-linux 想要深入了解Linux系统的内部工作原理…...
REFramework终极指南:让RE引擎游戏体验焕然一新的完整解决方案
REFramework终极指南:让RE引擎游戏体验焕然一新的完整解决方案 【免费下载链接】REFramework Mod loader, scripting platform, and VR support for all RE Engine games 项目地址: https://gitcode.com/GitHub_Trending/re/REFramework REFramework是专为RE…...
Z-Image-Turbo广告设计:多语言海报生成系统
Z-Image-Turbo广告设计:多语言海报生成系统 1. 引言 电商商家每天需要制作大量商品海报,人工设计成本高且效率低。传统设计流程需要找设计师、反复沟通修改,一张海报从构思到完成往往需要数小时甚至数天时间。对于需要覆盖多个市场的品牌来…...
MogFace人脸检测工具实测:16GB显存下支持最高4096×2160分辨率单图检测
MogFace人脸检测工具实测:16GB显存下支持最高40962160分辨率单图检测 1. 引言:当高清图片遇上精准人脸检测 你有没有遇到过这样的场景?拿到一张几千人合影的高清大图,想快速找出某个特定人物,或者需要从监控录像的4K…...
【VBA】【EXCEL】【文件】读写已打开EXCEL
Sub readExcel()Set wb Workbooks("数据源.xlsx") Set ws wb.Sheets(1)For i 2 To 100For j 2 To 1000If ws.Range("B" & j).Value <> "" ThenIf InStr(me.Range("A" & i).Value, ws.Range("B" & j).…...
ARM单片机位带操作原理与应用详解
1. ARM单片机位带操作基础回顾在嵌入式开发中,位带操作(Bit-Banding)是Cortex-M系列处理器提供的一个非常实用的功能特性。简单来说,它允许开发者通过访问特定内存地址的方式,直接操作某个寄存器的单个比特位,而无需进行传统的&qu…...
告别抓包失败!保姆级配置:让Burp+Proxifier稳定抓取任意微信小程序
微信小程序抓包实战:BurpProxifier零失败配置指南 每次调试微信小程序接口都像在玩捉迷藏?明明按照教程一步步操作,却总在最后一步功亏一篑。作为经历过数十次抓包失败的过来人,我总结出一套"一次配置终身受用"的解决方…...
第一次遇见动态规划
一、什么是动态规划 动态规划是对问题的各状态维度进行分阶段、有顺序、无重复、决策性的遍历求解的算法思想。 “状态”、“阶段”、“决策”是构成动态规划算法的三要素。 问题能用动态规划求解需要满足三个基本条件: 1、子问题重叠性:动态规划算法…...
OpenClaw家庭作业助手:Qwen3-14B解析数学题并分步讲解
OpenClaw家庭作业助手:Qwen3-14B解析数学题并分步讲解 1. 为什么需要家庭作业助手? 作为一个经常辅导孩子功课的家长,我深刻体会到传统辅导方式的痛点。每天晚上检查作业时,孩子遇到不会的题目需要等待家长解答,而家…...
OpenClaw性能调优:Qwen3-14B镜像响应速度提升3倍实操
OpenClaw性能调优:Qwen3-14B镜像响应速度提升3倍实操 1. 为什么需要性能调优? 上周我在用OpenClaw自动处理100份PDF文档时,发现一个奇怪现象:同样的任务,晚上执行比白天快得多。经过排查才发现,白天我的本…...
