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

最新文章

  1. 【转帖】Python在大数据分析及机器学习中的兵器谱
  2. 一个未解决的samba问题
  3. linux:vi 替换命令
  4. 插头DP专题
  5. [R语言]foreach和doParallel包实现多个数据库同时查询
  6. 项目中必须知道的关于CSS+DIV的常识
  7. Unity中加入Android项目的Build步骤
  8. JVM学习总结五(番外)——VisualVM
  9. input type=file accept中可以限制的文件类型
  10. JAVA多态需要注意的一些问题
  11. 蓝桥网试题 java 基础练习 十进制转十六进制
  12. jQuery遍历-过滤
  13. ③bootstrap文本使用基础案例
  14. GC调优入门笔记
  15. Android的TextView设置padding无效
  16. iOS开发简记(2):自定义tabbar
  17. 【PyQt5-Qt Designer】QLineEdit 文本输入
  18. Elasticsearch 5.2.x 使用 Head 插件连接不上集群
  19. 高通 display 驱动【转】
  20. php输出js到前端

热门文章

  1. Android Activity启动流程, app启动流程,APK打包流程, APK安装过程
  2. Gradle-任务
  3. 4.Redux学习4----react-redux
  4. Linux下使用docker 拉取 vsftpd 镜像搭建 Ftp 服务器,连接 Ftp 时遇到的错误(425 Failed to establish connection)
  5. Spring Boot 为什么这么火?
  6. 极客时间-vue开发实战学习(ant-design vue作者)
  7. Prometheus学习系列(六)之Prometheus 查询说明
  8. http请求报400错误的原因分析
  9. django-channels的部署(supervisor+daphne+nginx)
  10. 松软科技web课堂:JavaScript Math 对象