欢迎访问宙启技术站
智能推送

Python中的enumerate函数用法及实例

发布时间:2023-05-24 03:02:50

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的索引和值。