python学习日记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习日记相关的知识,希望对你有一定的参考价值。
1)range()控制for循环,len()用于返回对象的个数
a=‘asfefqfq‘ for b in range(0,len(a),2): print a[b]
如何去让其不会行输出(python2中直接在a[b]后添加逗号)
2)enumerate()可以从循环中得到下标和元素
a=‘asfefqfq‘ for (x,y) in enumerate(a): print (x,y),
3)zip()可以从等长的序列中分别提取一个元素,然后组成一个新的序列
a=‘abc‘ b={1,2,3} for c in zip(a,b): print c,
用上*可以将c进行解开,差不多就是一种还原操作(a1,a2)=zip(*c)
4)循环对象
循环是一个带有next()方法的对象,例如当一个for循环时,都会去调用next()方法,直到StopIteration出现,for循环接受到,for循环结束,停止调用
for line in open("log.txt","r"): print line
5)迭代器
在循环对象和for循环调用之间还有一个对象,需要用迭代器(iterator)进行
6)生成器
生成器(generator)是一个用户自定义的循环对象,在编写和定义函数时,将return换成yield,每次去掉用这个方法或循环时,会从上次暂停的地方从新开始
def kkk(): a=1 yield a a=2 b=3 yield a*b yield 1000 for x in kkk(): print x
进一步理解生成器表达式:
G=(x for x in range (4))
7)表推论
表推论是一种快速生成表的一种方式(list comprehension)
Q=[] for x in range(5): Q.append(x**2) print Q
x1=[1,3,5] y1=[9,12,13] L=[x**2 for (x,y) in zip(x1,y1) if y>10] print L
机制有待了解?_?
以上是关于python学习日记的主要内容,如果未能解决你的问题,请参考以下文章