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]) ''' 输出: 0 apple 1 banana 2 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) ''' 输出: 0 apple 1 banana 2 pear ''' for i,fruit in enumerate(fruit_list, 1 ): print (i, fruit) ''' 输出: 1 apple 2 banana 3 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) ''' 输出: 0 apple 1 banana 2 pear ''' d = dict(zip(index_list,fruit_list)) print (d) ''' 转换为字典,输出: {0: 'apple', 1: 'banana', 2: 'pear'} '''