Python——序列迭代
2016-10-05 22:13
176 查看
迭代是程序中比较常用的操作,Python也是一样的,有时需要对列表、字典等数据结构进行迭代。好在Python中提供了一些用于的內建函数,通过这些函数可以实现对变量内数据的迭代遍历。
一、并行迭代:对两个序列进行迭代
注:range函数可以产生一个数字序列,range(N)产生一个下标从0—N-1的数字序列;xrange函数类似于range函数也可以产生一个序列,不同的是range函数一次创建整个序列,xrange函数每次只创建一个数,当需要迭代非常大的序列时,xrange具有更好的效率。
使用內建的zip函数并行迭代,zip函数将两个序列压缩在一起,返回一个元组的列表:
zip函数可以作用于任意多的序列,也可以用于不等长的序列,当最短的序列在遍历中首先结束时,迭代随之停止:
二、编号迭代:通过获取当前对象的索引进行遍历,enumerate函数在索引的地方提供“迭代索引—值”对
三、翻转和排序迭代:Python中提供了用于翻转的函数reversed和用于排序的函数sorted,其功能与列表的reverse和sort类似,不同的是reversed和sorted不是原地操作而是返回新的对象
一、并行迭代:对两个序列进行迭代
# _*_ 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 1 two is 2 three is 3 four 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 : 1 two : 2 three : 3 four : 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 : 0 two : 1 three : 2 four : 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 : one 2 : two 3 : three 4 : four >>>
三、翻转和排序迭代:Python中提供了用于翻转的函数reversed和用于排序的函数sorted,其功能与列表的reverse和sort类似,不同的是reversed和sorted不是原地操作而是返回新的对象
# _*_ coding:utf-8 _*_ test=[4,2,1,5,7] y=list(reversed(test)) print y print 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] >>>
相关文章推荐
- python 中迭代多个序列
- Python小知识——深度剖析获取迭代序列
- python代码实现:如何反序的迭代一个序列?
- Python中迭代序列的三种基本方法
- python-序列解包(对可迭代元素的快速取值)
- python序列之迭代
- python 中迭代多个序列
- Python 解压序列、可迭代对象并赋值给多个变量
- python zip 要迭代的元素在多个不同的序列,如何对其迭代
- python for循环迭代序列
- Python Tricks(六)—— 删除一个可迭代序列中等于某值的全部元素
- 2.python中对于序列比较基础的迭代方法。
- python zip 同时迭代多个序列
- Python基础知识(八)--序列类型_元组
- Python 去除序列s中的重复元素
- C++猿的Python笔记05-序列
- Python数据类型——序列(字符串,列表,元组)
- Python中字符串、序列的遍历
- 求最大子序列的和-Python实现
- python_获取序列中最小的几个元素