python中enumerate() 与zip()函数的使用比较实例分析
本文实例讲述了python中enumerate() 与zip()函数的使用比较。分享给大家供大家参考,具体如下:
enumerate() 与zip()是两个常用的内置函数,这两个函数功能类似,同时又存在差异。介绍如下:
一、enumerate() 函数
该函数中文解释:枚举、列举的意思。
用于将一个可遍历的数据对象(如:列表、元组、字符串等)组合为一个索引序列,同时列出:数据和数据下标
一般在for循坏中使用,可同时得到数据对象的值及对应的索引值
a = ['one','two','three','four','five'] for a_index, a_value in enumerate(a): print('{}:{}'.format(a_index,a_value))
运行结果为:
0:one
1:two
2:three
3:four
4:five
注意:在enumerate()函数中,也可以给第2个参数“start”的值,指定当前索引的****初始值,如下例所示:
b = ['monday','tuesday','wednesday','thursday','friday','saturday','sunday'] for b_index, b_value in enumerate(b,start=1): print('星期{}:{}'.format(b_index,b_value))
运行结果为:
星期1:monday
星期2:tuesday
星期3:wednesday
星期4:thursday
星期5:friday
星期6:saturday
星期7:sunday
二、zip()函数
该函数用于将多个可迭代对象作为参数,依次将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象。
如对于下面的例子:
names = ['张三','李四','王五'] sexs = ['boy','girl','boy'] scores = [86, 92, 75] for name, sex, score in zip(names,sexs,scores): print('{}: {}, {}'.format(name, sex, score))
运行结果为:
张三: boy, 86
李四: girl, 92
王五: boy, 75
注意:如果各个可迭代对象的元素个数不一致,则返回的对象长度与最短的可迭代对象相同。例如,对上面的例子,列表scores减少一个元素,修改如下:
names = ['张三','李四','王五'] sexs = ['boy','girl','boy'] scores = [86, 92] for name, sex, score in zip(names,sexs,scores): print('{}: {}, {}'.format(name, sex, score))
运行结果为:
张三: boy, 86
李四: girl, 92
关于python相关内容感兴趣的读者可查看本站专题:《python函数使用技巧总结》、《python面向对象程序设计入门与进阶教程》、《python数据结构与算法教程》、《python字符串操作技巧汇总》、《python编码操作技巧总结》及《python入门与进阶经典教程》
希望本文所述对大家python程序设计有所帮助。