Python range、enumerate和zip函数用法详解
前言
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)
使用例子:
foriinrange(5): print(i,end='')#输出:01234 print() foriinrange(1,5): print(i,end='')#输出:1234 print() foriinrange(0,5,2): print(i,end='')#输出:024 print() foriinrange(0,-5,-1): print(i,end='')#输出:0-1-2-3-4 print() fruit_list=['apple','banana','pear'] foriinrange(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'] fori,fruitinenumerate(fruit_list): print(i,fruit) '''输出: apple banana pear ''' fori,fruitinenumerate(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'] forindex,fruitinzip(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'} '''
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。