Python enumerate函数功能与用法示例

eunmerate在英文中是列举、枚举的意思,在python中eunmerate()是一个内置的函数,用于在一个可迭代或可遍历的对象(如列表、字符串、数组、字典)中,将对象组成一个一个序列和索引,可以同时获得索引和索引值。

enumerate函数原型:

enumerate(sequence, [start=0])

功能:将可循环序列sequence以start开始分别列出序列数据和数据下标;

即对一个可遍历的数据对象(如列表、元组或字符串),enumerate会将该数据对象组合为一个索引序列,同时列出数据和数据下标;

enumerate()使用

对于一个列表list1,同时列出索引和每一个元素:

1

2

3

list1 = ['A','B','C','D','E']

for index, item in enumerate(list1):

  print index, item

输出:

0 A
1 B
2 C
3 E
4 F

enumerate还可以接受第二个参数start,仍会从第一个索引值开始,遍历完所有的索引值,但列出来的索引起始值是从start开始(默认为0):

1

2

3

list1 = ['A','B','C','D','E']

for index, item in enumerate(list1,10):

  print index, item

输出:

10 A
11 B
12 C
13 D
14 E

enumerate用于字符串:

1

2

3

str = 'ABCDE'

for index , item in enumerate(str):

  print index , item

输出:

0 A
1 B
2 C
3 E
4 F

-------------------------------------------------------------------------------------

------------------------------------------------------------------------------------

enumerate()是python的内置函数、适用于python2.x和python3.x

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

enumerate参数为可遍历/可迭代的对象(如列表、字符串)

enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用enumerate

enumerate()返回的是一个enumerate对象

>>> lst = [1, 2, 3, 4, 10, 5]

>>> enumerate(lst)

enumerate的使用:

例如:已知lst = [1,2,3,4,5,6],要求输出:

0,1

1,2

2,3

3,4

4,5

5,6

>>> lst = [1,2,3,4,5,6]

>>> for index,value in enumerate(lst):

print ('%s,%s' % (index,value))

0,1

1,2

2,3

3,4

4,5

5,6

#指定索引从1开始

>>> lst = [1,2,3,4,5,6]

>>> for index,value in enumerate(lst,1):

print ('%s,%s' % (index,value))

1,1

2,2

3,3

4,4

5,5

6,6

#指定索引从3开始

>>> for index,value in enumerate(lst,3):

print ('%s,%s' % (index,value))

3,1

4,2

5,3

6,4

7,5

8,6

补充:

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

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

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

可以利用enumerate():

count = 0

for index, line in enumerate(open(filepath,'r')):

count += 1

==========================

嵌套应用:

names = ['关羽', '张飞', '赵云', '马超', '黄忠']

courses = ['语文', '数学', '英语']

# 录入五个学生三门课程的成绩

for row, name in enumerate(names):

for col, course in enumerate(courses):

scores[row][col] = float(input(f'请输入{name}的{course}成绩: '))

print(scores)

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值