python内置函数——enumerate()、zip()

本文详细介绍了Python内置函数enumerate和zip的使用方法及应用场景。enumerate函数能将可迭代对象转换为索引序列,方便获取元素及其下标;zip函数则能将多个可迭代对象打包成元组列表,便于数据的配对处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

enumerate()

虽然文章标题说是python内置函数,但enumerate实际上是python定义的类。

  1. 调用形式
enumerate(iterable, start=0)

enumerate()函数用于将一个可遍历/可迭代的数据对象iterable(如列表、元组或字符串等)组合为一个索引序列,同时列出数据和数据下标(参数start表示得到的索引值从start开始),该函数返回的是一个enumerate对象。

  1. 应用

示例1:一般用在 for 循环当中,可同时得到数据对象的值及对应的索引值。

iter_able = ['one', 'two', 'three', 'four', 'five']
for index, item in enumerate(iter_able):
    print('index = %d, item = %s' % (index, item))

输出结果:

index = 0, item = one
index = 1, item = two
index = 2, item = three
index = 3, item = four
index = 4, item = five

设置参数start从2开始:

iter_able = ['one', 'two', 'three', 'four', 'five']
for index, item in enumerate(iter_able, start=2):
    print('index = %d, item = %s' % (index, item))

输出结果:

index = 2, item = one
index = 3, item = two
index = 4, item = three
index = 5, item = four
index = 6, item = five

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

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

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

可以利用enumerate():

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

zip()

和enumerate()一样,zip()实际上也是python定义的类。

  1. 调用形式
zip(iter1, iter2=None, *some)

zip()将多个可迭代对象作为参数,依次将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象。

  1. 应用
names = ['张三', '李四', '王五']
sexes = ['男', '女', '男']
ages = ['20', '18', '23']
for name, sex, age in zip(names, sexes, ages):
    print('{}:{},{}'.format(name, sex, age))

输出结果:

张三:,20
李四:,18
王五:,23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值