python 内置函数——enumerate( )函数

发音:[ɪˈnuːməreɪt],枚举; 列举

enumerate()是python的内置函数,适用于python2.x和python3.x;用来将一个可迭代对象转化为枚举对象,利用它可以同时获得每个元素的索引下标和值,即需要 index 和 value 值的时候可以使用enumerate函数。

一、语法格式:

enumerate(iterable, start=)

其中:

iterable:表示要枚举的可迭代对象

start:表示枚举的起始值,也就是想要索引从几开始,默认为0。

返回的枚举对象是一个迭代器,想要看到具体的值,可以使用for循环遍历,也可以使用list()函数将其转换为列表。

例如:有如下列表。

l1 = ["小米", "小华", "小刘"]
a = enumerate(l1)
print(a)

# 结果:
<enumerate object at 0x00000214F2DE2318>

想要看到具体的值,可以使用for 循环进行遍历,或者强制转换成列表/集合/元组/字典。

推荐转为列表,因为后续要对其操作的话,列表好操作。

# 法1:使用for循环
l1 = ["小米", "小华", "小刘"]
a = enumerate(l1)

for i in a:
    print(i)

# 结果:
(0, '小米')
(1, '小华')
(2, '小刘')


# 法2:强制转化为列表、集合、元组

l1 = ["小米", "小华", "小刘"]

a = list(enumerate(l1))  # 转为列表  !!!!推荐
print(a)


b = set(enumerate(l1))  # 转为集合
print(b)

c = tuple(enumerate(l1))  # 转为元组
print(c)

#d = dict(enumerate(l1))  # 这个有点问题,画了波浪线
#print(d)  # {0: '小米', 1: '小华', 2: '小刘'}

# 结果:
[(0, '小米'), (1, '小华'), (2, '小刘')]

{(2, '小刘'), (0, '小米'), (1, '小华')}

((0, '小米'), (1, '小华'), (2, '小刘'))


当然也可以,直接获取索引和值:

l1 = ["小米", "小华", "小刘"]
for index, value in enumerate(l1):
    print(index, value)

# 结果:
0 小米
1 小华
2 小刘

进程已结束,退出代码 0

使用格式化输出:

l1 = ["小米", "小华", "小刘"]
for index, value in enumerate(l1):
    print("%d,%s" % (index, value))

# 结果:
0,小米
1,小华
2,小刘

 想要索引从1 开始的话,设置start=1:

l1 = ["小米", "小华", "小刘"]

a = enumerate(l1, start=1)  # 索引从1开始

for i in a:
    print(i)

# 结果:
(1, '小米')  
(2, '小华')
(3, '小刘')

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python的枚举函数enumerate()是一个内置函数,它将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,并同时列出数据和数据下标,通常用在for循环中。该函数返回一个enumerate对象,是一个可迭代对象,通过遍历可以获取具体的元素值。它的语法为:enumerate(iterable, start),其中iterable是可遍历的对象,start是索引的起始值,默认为0。使用enumerate函数可以在for循环中同时获取索引和值。 这个函数在字典上也可以使用,表示枚举或列举的意思,用于获取字典中的键和值。对于一个可迭代的对象,可以使用enumerate函数将其组合为一个索引序列,从而在for循环中获得计数的效果。 一个例子是可以利用enumerate()函数和for循环来遍历文件的每一行,并同时获得行号和行内容。例如,可以使用以下代码来读取一个文件,并在遍历每一行的同时记录行号: count = 0 for index, line in enumerate(open(filepath,'r')): count += 1 这样就可以在count变量中获得文件的行数,index变量中获得行号,line变量中获得每一行的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python 使用enumerate()函数详解](https://blog.csdn.net/jh035/article/details/128077895)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python enumerate用法总结](https://blog.csdn.net/churximi/article/details/51648388)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值