python入门笔记--循环(for...range\enumerate\zip)、列表推导
来源:互联网 发布:ubuntu ssh 远程登录 编辑:程序博客网 时间:2024/05/16 16:07
一、循环结构
>>> range(1,5) #代表从1到5(不包含5)
[1, 2, 3, 4]
>>> range(1,5,2) #代表从1到5,间隔2(不包含5)
[1, 3]
>>> range(5) #代表从0到5(不包含5)
[0, 1, 2, 3, 4]
1.for i in range(10)使用序列的每个元素进行循环:
或直接读取
>>> for i in 'abcd':print iabcd
for i in ['abc','def']:print iabcdef
>>> a=['abc','def']>>> for i in range(len(a)):print a[i]abcdef
2.for i in range(0,len(q),2)使用序列的下标进行循环:
3.for (index,char) in enumerate(S)同时使用下标和元素进行循环
4.for (a,b,c) in zip(ta,tb,tc):从多个等长序列中取一个元素作为新序列
二、循环结构原理:自动调用循环对象的next方法。
循环对象--for自动调用循环对象的next方法,直到出现StopIteration停止循环
循环对象是这样一个对象,它包含有一个next()方法(__next__()方法,在python 3x中), 这个方法的目的是进行到下一个结果,而在结束一系列结果之后,举出StopIteration错误。
当一个循环结构(比如for)调用循环对象时,它就会每次循环的时候调用next()方法,直到StopIteration出现,for循环接收到,就知道循环已经结束,停止调用next()。
如循环对象:f=open(),返回的实际上是一个循环对象,包含有next()方法。等于for结构自动调用next()方法,将该方法的返回值赋予给line。
三、生成器--用户自己生成一个循环对象
和函数定义类似,只是在return的地方改为yield。当生成器遇到一个yield时,会暂停运行生成器,返回yield后面的值。当再次调用生成器的时候,会从刚才暂停的地方继续运行,直到下一个yield。
四、列表推导--快速生成列表
列表推导(List comprehension)的作用是为了更方便地生成列表(list)
如一个list变量的元素均为数字,如果需要将每个元素的值乘以2并生成另外一个list
常规方法:
使用列表推导
- python入门笔记--循环(for...range\enumerate\zip)、列表推导
- 循环相关函数range、enumerate、zip
- python中for循环中使用range、len、enumerate函数的操作实例
- python for循环 range
- Python(5)使用for...in循环和列表推导式打印一个99乘法表
- leetcode-1:python基础,循环、条件、列表、字典的应用,enumerate、range函数以及2.0和3.0print的区别
- python快速入门(列表推导式)
- ptyon笔记:for循环汇中的enumerate
- Python零基础入门之三---(for循环+列表)
- Python实用技巧---列表推导式(轻量级循环)与map
- python 列表推导式 - 轻量级循环
- python列表推导式-轻量级循环
- Python列表推导式---轻量级循环
- Python中的循环,列表推导式
- python 列表推导式----轻量级循环
- python 列表推导式----轻量级循环
- python的enumerate在for循环中的方便之处
- python 基础2 编码转换 pycharm 配置 运算符 基本数据类型int str list tupple dict for循环 enumerate序列方法 range和xrange
- Sqlserver SET NOCOUNT ON不返回受影响行数
- Android中Parcelable接口用法
- Python Show-Me-the-Code 第 0012 题 替换敏感词
- 交互设计技巧——创造好的用户体验(2)(翻译)
- 安装tinyhttpd遇到的问题
- python入门笔记--循环(for...range\enumerate\zip)、列表推导
- 错误:HttpServlet was not found on the Java
- 类方法与对象方法
- 架构师都要懂哪些知识
- 调整mmecached的limi_maxbytes大小
- 交互设计技巧——创造好的用户体验(3)(翻译)
- PAT 1021. Deepest Root (25)
- spark standalone模式配置
- Lua 文件处理