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

yipeiwu_com6年前Python基础

前言

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'}
'''

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python多线程方式执行多个bat代码

python多线程方式执行多个bat的代码,感兴趣的朋友可以参考下。 import threading from win32api import * class MyThread...

利用Python实现命令行版的火车票查看器

接口设计 一个应用写出来最终是要给人使用的,哪怕只是给你自己使用。所以,首先应该想想你希望怎么使用它?让我们先给这个小应用起个名字吧,既然及查询票务信息,那就叫它tickets好了。我们...

python3+dlib实现人脸识别和情绪分析

python3+dlib实现人脸识别和情绪分析

一、介绍 我想做的是基于人脸识别的表情(情绪)分析。看到网上也是有很多的开源库提供使用,为开发提供了很大的方便。我选择目前用的比较多的dlib库进行人脸识别与特征标定。使用python也...

python正常时间和unix时间戳相互转换的方法

本文实例讲述了python正常时间和unix时间戳相互转换的方法。分享给大家供大家参考。具体分析如下: 这段代码可以用来转换常规时间格式为unix时间戳,也可以将unix时间戳转换回来,...

Tensorflow 利用tf.contrib.learn建立输入函数的方法

Tensorflow 利用tf.contrib.learn建立输入函数的方法

在实际的业务中,可能会遇到很大量的特征,这些特征良莠不齐,层次不一,可能有缺失,可能有噪声,可能规模不一致,可能类型不一样,等等问题都需要我们在建模之前,先预处理特征或者叫清洗特征。那么...