Python 程序设计入门(015)—— enumerate() 函数的用法

Python 程序设计入门(015)------ enumerate() 函数的用法

目录

一、enumerate() 函数的语法

enumerate() 函数的作用是将一个可遍历或可迭代的对象按照设置的序号组成一个索引序列。语法格式如下:

python 复制代码
enumerate(iterable[,start])
说明:
(1)iterable:表示一个序列、迭代器或其他支持迭代的对象。
(2)start:用于设置下标的起始位置,默认为0。
(3)函数返回一个列表(类型为:enumerate),列表由新生成的序号和原有数据组成的元组构成。

例如:

python 复制代码
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() 函数可以快速实现对可迭代对象中的元素建立索引和编号。例如:

python 复制代码
stu = ["刘刚","张静静","王芸","张云涛","刘贝贝"]
list1 = enumerate(stu,1)
for item in list1:
    print(item)
    
运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
(1, '刘刚')
(2, '张静静')
(3, '王芸')
(4, '张云涛')
(5, '刘贝贝')

也可以在序列中直接使用 enumerate() 函数:

python 复制代码
stu = ["刘刚","张静静","王芸","张云涛","刘贝贝"]
for item in enumerate(stu,1):
    print(item)
    
运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
(1, '刘刚')
(2, '张静静')
(3, '王芸')
(4, '张云涛')
(5, '刘贝贝')

字符串可以使用 enumerate() 函数建立索引序号:

python 复制代码
str = "张王李赵刘曹关"
for item in enumerate(str,1):
    print(item)

运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
(1, '张')
(2, '王')
(3, '李')
(4, '赵')
(5, '刘')
(6, '曹')
(7, '关')

三、将字符串、列表等转换为字典

1、将字符串转换为字典

python 复制代码
str = "张王李赵刘曹关"
name = dict(enumerate(str,1))
print(name)

运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
{1: '张', 2: '王', 3: '李', 4: '赵', 5: '刘', 6: '曹', 7: '关'}

2、将列表转换为字典,把序号作为字典的键

python 复制代码
str = ["马芸","马花疼","黄征","丁蕾","许志军","张三疯"]
name = dict(enumerate(str,1))
print(name)

运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
{1: '马芸', 2: '马花疼', 3: '黄征', 4: '丁蕾', 5: '许志军', 6: '张三疯'}

3、将列表转换为字典,把序号作为字典的值

python 复制代码
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() 函数可以为字典的键建立索引,生成由序号与字典的键组成的元组。例如:

python 复制代码
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 : 张三疯  
相关推荐
深盾科技_Virbox1 分钟前
云端与本地并行交付,软件许可管理如何实现统一运营?
java·大数据·开发语言·安全
papaofdoudou20 分钟前
从抽象群到可计算的矩阵:S₃ 的表示论与共轭视角
python·决策树·矩阵
xuxigifxfh28 分钟前
HJ15 求int型正整数在内存中存储时1的个数
java·开发语言·华为机考
Wokoo731 分钟前
自动化测试入门:核心场景、回归测试与 Web 自动化环境搭建
java·开发语言·测试工具
tachibana234 分钟前
Golang 中数组和切片的区别?
开发语言·后端·golang·数组·切片
JWASX1 小时前
【agent 开发】Agent 智能体
大数据·人工智能·python
智购科技无人售货机工厂店1 小时前
玻璃瓶饮料破损率突然上升,排查发现是取货口缓冲垫老化了~YH
java·开发语言·人工智能·python·eclipse
JWASX1 小时前
【agent 开发】agent 开发学习 - LangChain(2)
python·学习·langchain
枫叶丹41 小时前
语音 AI 怎样边听边答:实时对话系统的工作原理
开发语言·人工智能·chatgpt·开源·php·agent·codex
xie0510_1 小时前
Any类简要实现
开发语言·c++·算法