Python——序列迭代
来源:互联网 发布:个人隐私 知乎 编辑:程序博客网 时间:2024/06/02 12:51
迭代是程序中比较常用的操作,Python也是一样的,有时需要对列表、字典等数据结构进行迭代。好在Python中提供了一些用于的內建函数,通过这些函数可以实现对变量内数据的迭代遍历。
一、并行迭代:对两个序列进行迭代
# _*_ coding:utf-8 _*_names=['one','two','three','four']datas=[1,2,3,4]for i in xrange(len(names)): print names[i],'is',datas[i]运行结果:===========RESTART: C:\Users\Mr_Deng\Desktop\test.py===========one is 1two is 2three is 3four is 4>>>
注:range函数可以产生一个数字序列,range(N)产生一个下标从0—N-1的数字序列;xrange函数类似于range函数也可以产生一个序列,不同的是range函数一次创建整个序列,xrange函数每次只创建一个数,当需要迭代非常大的序列时,xrange具有更好的效率。
使用內建的zip函数并行迭代,zip函数将两个序列压缩在一起,返回一个元组的列表:
# _*_ coding:utf-8 _*_names=['one','two','three','four']datas=[1,2,3,4]for name,data in zip(names,datas): print name,":",data运行结果:===========RESTART: C:\Users\Mr_Deng\Desktop\test.py===========one : 1two : 2three : 3four : 4>>>
zip函数可以作用于任意多的序列,也可以用于不等长的序列,当最短的序列在遍历中首先结束时,迭代随之停止:
# _*_ coding:utf-8 _*_names=['one','two','three','four']for name,data in zip(names,xrange(10000)): print name,":",data运算结果:===========RESTART: C:\Users\Mr_Deng\Desktop\test.py===========one : 0two : 1three : 2four : 3>>>
二、编号迭代:通过获取当前对象的索引进行遍历,enumerate函数在索引的地方提供“迭代索引—值”对
# _*_ coding:utf-8 _*_names=['one','two','three','four']for index,name in enumerate(names): print index+1,":",name运算结果:===========RESTART: C:\Users\Mr_Deng\Desktop\test.py===========1 : one2 : two3 : three4 : four>>>
三、翻转和排序迭代:Python中提供了用于翻转的函数reversed和用于排序的函数sorted,其功能与列表的reverse和sort类似,不同的是reversed和sorted不是原地操作而是返回新的对象
# _*_ coding:utf-8 _*_test=[4,2,1,5,7]y=list(reversed(test))print yprint list(reversed('afgsf'))运算结果:===========RESTART: C:\Users\Mr_Deng\Desktop\test.py===========[7, 5, 1, 2, 4]['f', 's', 'g', 'f', 'a']>>>
# _*_ coding:utf-8 _*_test=[4,2,1,5,7]y=sorted(test)print y运算结果:===========RESTART: C:\Users\Mr_Deng\Desktop\test.py===========[1, 2, 4, 5, 7]>>>
1 0
- Python——序列迭代
- python序列之迭代
- Python——迭代
- python学习——迭代
- python知识—切片/迭代
- python代码实现:如何反序的迭代一个序列?
- 3.python基础学习——迭代
- Python入门——迭代的使用
- Python基础——迭代和解析
- 【Python】学习笔记——-4.2、迭代
- 廖雪峰老师——Python入门( 迭代 )
- python——切片 迭代 列表生成式 生成器
- python实现费波纳茨数列——递归、迭代
- Python学习(六)——迭代、文件读写
- Python的高级特征(二)——迭代
- Fibnacci序列(迭代)
- Fibnacci序列(迭代)
- fibnacci序列(迭代)
- 如何在centos 7上安装gcc编译器
- lightoj- 1079-Just another Robbery【DP】
- PHP学习笔记二
- first_blog
- (笔记)Spring实战_事务管理(2)_选择事务管理器
- Python——序列迭代
- LIS LCS n^2和nlogn解法 以及LCIS
- 关于python的url处理
- 磁盘原理与文件系统
- GSM
- 测试theano是提示使用CPU而不是gpu问题
- [剑指offer学习心得]之:二叉树的深度
- Android调用系统自带的文件管理器进行文件选择并获得路径,android文件管理器
- maven项目配置