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 : 张三疯  
相关推荐
就叫_这个吧4 小时前
Java递归方法实现面包屑导航
java·开发语言
fīɡЙtīиɡ ℡4 小时前
AI 应用系统设计
java·开发语言·人工智能
聪明蛋子哟5 小时前
Stagehand v3多语言SDK:Python/Go/Rust/Java下的浏览器自动化统一方案
python·golang·rust
今天AI了吗6 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·数据库·人工智能·python·sql·深度学习·机器学习
卷无止境6 小时前
Windows 上丝滑开发 Python,并稳定构建 Docker 镜像
后端·python·docker
TELL5216 小时前
selenium webdriver 第二次初始化的异常
开发语言·python
Csvn6 小时前
🐍 Day 4: Python 控制流 — 条件、循环与推导式的艺术
后端·python
动词ing7 小时前
【C语言】自定义函数+指针入门
c语言·开发语言·算法
重生之后端学习7 小时前
283. 移动零[简单]✅
开发语言·数据结构·算法·leetcode·职场和发展
动词ing8 小时前
【C语言】结构体+文件基础
c语言·开发语言·数据结构