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)

# 结果:

想要看到具体的值,可以使用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, '小刘')

你可能感兴趣的:(python基础,python,开发语言)