Python中的enumerate函数用法及实例
enumerate()函数是一个非常有用的python内置函数,它可以在遍历列表、元组、字符串、字典等可迭代对象时,将每个元素与它的索引进行一一对应。enumerate()函数的语法格式如下所示:
enumerate(sequence, [start=0])
其中,sequence表示一个可迭代对象,例如列表、元组、字符串、字典等;start是可选参数,表示枚举开始的索引值,默认为0。
下面我们通过一些实例,来看看enumerate()函数的具体用法和效果。
# 实例1:遍历列表元素及其索引
list1 = ['Python', 'Java', 'C++', 'JavaScript']
for index, value in enumerate(list1):
print(index, value)
# 输出:0 Python
# 1 Java
# 2 C++
# 3 JavaScript
在这个例子中,我们定义了一个列表list1,然后使用for循环来进行遍历,并使用enumerate()函数将元素与索引进行一一对应。在每次循环中,变量index代表的是元素的索引,变量value代表的是元素本身。最终打印出来的结果,就是每个元素的索引和值。
# 实例2:遍历元组及其索引
tuple1 = ('Python', 'Java', 'C++', 'JavaScript')
for index, value in enumerate(tuple1):
print(index, value)
# 输出:0 Python
# 1 Java
# 2 C++
# 3 JavaScript
这个例子和实例1差不多,只不过我们换成了元组tuple1。由于元组和列表类似,因此它们的遍历方式也基本相同。
# 实例3:遍历字符串及其索引
string1 = 'Python is awesome!'
for index, value in enumerate(string1):
print(index, value)
# 输出:0 P
# 1 y
# 2 t
# 3 h
# 4 o
# ...
# 17 !
这个例子中,我们定义了一个字符串string1,并且使用for循环和enumerate()函数来遍历它的每个字符。在每次循环中,变量index表示的是字符的索引,变量value表示的是字符本身。
# 实例4:遍历字典的key和value
dict1 = {'name': 'Tom', 'age': 20, 'city': 'Beijing'}
for index, (key, value) in enumerate(dict1.items()):
print(index, key, value)
# 输出:0 name Tom
# 1 age 20
# 2 city Beijing
这个例子中,我们定义了一个字典dict1,并使用for循环和enumerate()函数来遍历它的key和value。在每次循环中,变量index表示的是字典中key的索引,变量(key,value)表示的是(key,value)这个元组,分别代表着key和它对应的value。
从这个例子中,我们也可以看到enumerate()函数的另一个非常实用的用法,就是可以同时遍历多个可迭代对象。
最后值得一提的是,enumerate()函数也支持传入start参数来指定枚举开始的索引值,例如:
list2 = ['a', 'b', 'c', 'd']
for index, value in enumerate(list2, 1):
print(index, value)
# 输出:1 a
# 2 b
# 3 c
# 4 d
在这个例子中,我们传入了start=1参数,因此enumerate()函数从1开始枚举元素,最终打印的结果就是从1到4的索引和值。
