Python range、enumerate和zip函数用法详解

作者:gdjlc 时间:2021-06-29 22:24:06 

前言

range函数可创建一个整数列表。

如果需要知道当前元素在列表中的索引,推荐用enumerate代替range。

zip函数用于同时遍历多个迭代器。

一、range 函数

range函数可创建一个整数列表,一般用在 for 循环中。

语法:

range([start,] stop[, step])

参数:

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0,5);

stop: 计数到 stop 结束,但不包括 stop。例如:range(0,5) 是[0,1,2,3,4]没有5

step:步长,默认为1。例如:range(0,5) 等价于 range(0,5,1)
使用例子:


for i in range(5):
 print(i, end=' ') #输出:0 1 2 3 4
print()
for i in range(1,5):
 print(i, end=' ') #输出:1 2 3 4
print()
for i in range(0,5,2):
 print(i, end=' ') #输出:0 2 4
print()
for i in range(0,-5,-1):
 print(i, end=' ') #输出:0 -1 -2 -3 -4
print()
fruit_list = ['apple', 'banana','pear']
for i in range(len(fruit_list)):
 print(i, fruit_list[i])
'''输出:
apple
banana
pear
'''

二、enumerate函数

enumerate函数用于将各种迭代器(如列表、元组或字符串)包装为生成器,生成器每次产生一对输出值,前者表示循环下标,后者表示从迭

代器中获取到的下一个序列元素。一般用在 for 循环当中。

需要知道当前元素在列表中的索引,推荐用enumerate代替range,代码便于简洁和易理解。

语法:

enumerate(sequence, [start=0])

参数:

sequence: 一个序列、迭代器或其他支持迭代对象。

start:下标起始位置。

使用例子:


fruit_list = ['apple', 'banana','pear']
for i,fruit in enumerate(fruit_list):
 print(i, fruit)
'''输出:
apple
banana
pear
'''
for i,fruit in enumerate(fruit_list, 1):
 print(i, fruit)
'''输出:
apple
banana
pear
'''

三、zip函数

zip函数可以把两个或两个以上的迭代器封装为生成器,以便稍后求值。

生成器会从每个迭代器中获取下一个值,然后把这些值汇聚成元组。

语法:

zip([iterable, ...])

参数:

iterabl:一个或多个迭代器

使用例子:


index_list = [0, 1, 2, 3, 4]
fruit_list = ['apple', 'banana','pear']
for index,fruit in zip(index_list,fruit_list):
 print(index,fruit)
'''输出:
apple
banana
pear
'''
d = dict(zip(index_list,fruit_list))
print(d)
'''转换为字典,输出:
{0: 'apple', 1: 'banana', 2: 'pear'}
'''

来源:https://www.cnblogs.com/gdjlc/p/11503564.html

标签:python,range,enumerate,zip,函数
0
投稿

猜你喜欢

  • SQL Server 2000 占内存居高不下可能的原因及其解决方法

    2010-04-25 10:39:00
  • 为导入文件加上时间戳标记的两种方法

    2009-01-07 14:14:00
  • Python Queue模块详细介绍及实例

    2022-03-08 11:03:58
  • wxPython定时器wx.Timer简单应用实例

    2022-08-20 00:36:30
  • pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换

    2023-08-12 07:44:34
  • 移动测试开发Mitmproxy用于测试抓包神器详解

    2023-08-30 23:34:55
  • python中的queue队列类型及函数用法

    2023-09-04 21:04:01
  • 一实用的table内容排序Javascript类库

    2008-11-02 15:03:00
  • list视图方式设计浅析

    2008-12-21 16:04:00
  • 17个asp常用的正则表达式

    2008-01-15 18:58:00
  • 谈ASP的未来

    2009-03-24 20:35:00
  • 浅谈django框架集成swagger以及自定义参数问题

    2022-01-09 20:25:10
  • Oracle11.2 命令行手工最简创建数据库的过程

    2009-09-14 12:07:00
  • python利用递归方法实现求集合的幂集

    2023-06-10 09:38:12
  • PHP设计模式之观察者模式浅析

    2023-05-27 12:20:11
  • 教你用Python读取CSV文件的5种方式

    2022-12-11 15:32:51
  • ASP利用Google实现在线翻译功能

    2010-03-07 17:28:00
  • 调试一段PHP程序时遇到的三个问题

    2023-06-22 11:39:22
  • pyspark操作hive分区表及.gz.parquet和part-00000文件压缩问题

    2022-02-07 14:35:53
  • python多进程读图提取特征存npy

    2022-09-05 11:38:06
  • asp之家 网络编程 m.aspxhome.com