python之enumerate()函数用法

enumerate()说明

enumerate()是python的内置函数

enumerate在字典上是枚举、列举的意思

对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值

enumerate多用于在for循环中得到计数

例如对于一个seq,得到:

?
1
( 0 , seq[ 0 ]), ( 1 , seq[ 1 ]), ( 2 , seq[ 2 ])

enumerate()返回的是一个enumerate对象,例如:

这里写图片描述


enumerate()使用

如果对一个列表,既要遍历索引又要遍历元素时,首先可以这样写:

?
1
2
3
list1 = [ "这" , "是" , "一个" , "测试" ]
for i in range (len(list1)):
     print i ,list1[i]

上述方法有些累赘,利用enumerate()会更加直接和优美:

?
1
2
3
4
5
6
7
8
list1 = [ "这" , "是" , "一个" , "测试" ]
for index, item in enumerate(list1):
     print index, item
>>>
0
1
2 一个
3 测试

enumerate还可以接收第二个参数,用于指定索引起始值,如:

?
1
2
3
4
5
6
7
8
list1 = [ "这" , "是" , "一个" , "测试" ]
for index, item in enumerate(list1, 1 ):
     print index, item
>>>
1
2
3 一个
4 测试

补充

如果要统计文件的行数,可以这样写:

?
1
count = len(open(filepath, 'r' ).readlines())

这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。

可以利用enumerate():

?
1
2
3
count = 0
for index, line in enumerate(open(filepath, 'r' )):
     count += 1

转载于:https://www.cnblogs.com/wind666/p/10900491.html

### 回答1: enumerate函数Python中的一个内置函数,它可以将一个可迭代对象(如列表、元组、字符串等)转换为一个枚举对象,同时返回每个元素的索引和值。其语法格式为: enumerate(iterable, start=0) 其中,iterable是要枚举的可迭代对象,start是枚举的起始值,默认为0。 使用enumerate函数可以方便地遍历一个序列,并在遍历过程中获取每个元素的索引和值,例如: lst = ['apple', 'banana', 'orange'] for i, item in enumerate(lst): print(i, item) 输出结果为: 0 apple 1 banana 2 orange 在上述代码中,enumerate函数将列表lst转换为一个枚举对象,然后使用for循环遍历该枚举对象,每次循环获取当前元素的索引和值,并打印输出。 ### 回答2: 在Python语言中,enumerate()函数是一种用于将一个可遍历的数据对象(如列表、元组、字符串等)组合为一个索引序列,同时列出数据和数据下标的函数。具体来说,enumerate()函数用法如下: ``` enumerate(iterable, start=0) ``` 其中iterable为可迭代对象,如:字符串、列表等;start参数表示从第几个下标开始,默认为0。 当使用enumerate()函数对一个可迭代对象进行迭代时,会返回一个由元组组成的迭代器,每个元组包含两个元素:下标索引和该下标对应的元素值,例如: ``` fruits = ['apple', 'banana', 'cherry'] for index, item in enumerate(fruits, 1): print("index:", index, "value:", item) ``` 运行以上代码,输出结果如下: ``` index: 1 value: apple index: 2 value: banana index: 3 value: cherry ``` 另外,由于enumerate()函数返回的是一个迭代器对象,因此,我们可以借助list()函数将其转化为列表,从而进行一系列的操作,例如: ``` fruits = ['apple', 'banana', 'cherry'] enum_fruits = enumerate(fruits, 1) list_enum = list(enum_fruits) print(list_enum) ``` 运行以上代码,输出结果如下: ``` [(1, 'apple'), (2, 'banana'), (3, 'cherry')] ``` 可以看到,通过将enumerate()返回的迭代器对象转化为列表后,得到了由元组组成的列表,每个元组中包含了对应的下标索引和元素值。 总而言之,enumerate()函数Python语言中一个非常方便的内置函数,它能够大大简化对可迭代对象进行遍历的操作,同时也能够为我们实现某些特定的操作提供便利。 ### 回答3: Python中的enumerate()函数是一种非常实用的内置函数,它可以让我们在遍历一个可迭代对象(例如列表、元组、字符串等)时,同时获取其对应的索引值。下面我们将详细介绍enumerate()函数用法和示例。 1. 基本用法 enumerate()函数的基本使用方法如下所示: ``` enumerate(iterable, start=0) ``` 其中,iterable为可迭代对象,例如列表、元组或字符串等;start参数表示开始计数的索引值,默认为0。 使用方法举例: ```python fruits = ['apple', 'banana', 'cherry'] for index, fruit in enumerate(fruits): print(index, fruit) ``` 执行结果如下: ``` 0 apple 1 banana 2 cherry ``` 2. 逆向用法 有时候我们需要逆向遍历一个列表,此时可以利用reversed()函数enumerate()函数来实现,示例如下: ```python fruits = ['apple', 'banana', 'cherry'] for index, fruit in reversed(list(enumerate(fruits))): print(index, fruit) ``` 执行结果如下: ``` 2 cherry 1 banana 0 apple ``` 3. 指定开始索引 当我们需要从指定的索引值开始遍历一个列表时,可以指定start参数的值。示例如下: ```python fruits = ['apple', 'banana', 'cherry'] for index, fruit in enumerate(fruits, start=1): print(index, fruit) ``` 执行结果如下: ``` 1 apple 2 banana 3 cherry ``` 4. 应用示例 使用enumerate()函数可以方便地遍历一个列表并获取索引值,例如计算列表中每个元素出现的次数: ```python fruits = ['apple', 'banana', 'cherry', 'banana', 'cherry', 'apple', 'apple', 'apple'] fruit_count = {} for index, fruit in enumerate(fruits): if fruit in fruit_count: fruit_count[fruit] += 1 else: fruit_count[fruit] = 1 print(fruit_count) ``` 执行结果如下: ``` {'apple': 4, 'banana': 2, 'cherry': 2} ``` 可以看到,列表中每个元素出现的次数成功计算出来了。 总之,enumerate()函数是一个十分实用的内置函数,它可以方便地为我们提供遍历列表的索引值,应用范围广泛,可以在列表操作、数据统计等多种场景下发挥出作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值