L=[‘a‘,‘b‘,‘c‘,‘d‘]
for (offset,item) in enumerate(L):
    print offset,item
打印的结果:
0 a
1 b
2 c
4 d
迭代器:
for i in range(100):     生成列表
for i in xrange(100)    迭代器,速度会比range快
readlines()    xreadlines()
例子:
def run():
    print "test1"
    yield 1                #变成迭代器,程序运行到这里会停止跳到外面的执行。yield相当于返回值。
    time.sleep(1)
    print "test2"
    time.sleep(1)
    print "test2"
    time.sleep(1)
    print "test2"
    time.sleep(1)
task=run()
task.next()
print ‘--do sth else---‘
task.next()        #如果不加本行,就不会执行yield后面的。
函数:
lambda函数(匿名函数):
def f(x):
   return x**2    
g = lambda x:x**2  匿名函数的写法
print map(f,range(10))   把列表输入函数运算,再返回结果
print map(lambda x:x**2,range(10))
sorted()用法:例子是对字典key进行排序(虽然字典是无序的)
dic1={3:2,4:3,6:9,‘a‘:‘test‘,‘e‘:‘fff‘,‘*‘:‘$‘}
print sorted(dic1.items(),key=lambda x:x[0])
rgs kargs
内置函数:
a=range(10)
a=iter(a)    #把列表变成了迭代器
a.next()
print [i for i in a if a<5]
filter(lambda x:x*x,a)
序列化:
硬盘上只能存字符串或者二进制,因此不能存字典,列表等。
pickle 只是python中使用的序列化类型。
pickle.dump(对象,文件句柄)  pickle.load()    pickle.dump(dic1,f)
json.dump()  json.load()
正则表达式:
m = re.match("\d",匹配的对象)   match是从开头匹配。
查看匹配到字符: m.group()           
re.search()全局查找匹配
re.findall() 查找所有匹配到的
re.split()  按照符号分割
re.sub(‘\d‘,"|",字符对象)   把梳子全部替换成|
re.sub(‘\d‘,"|",字符对象,count=2)  只替换前两个
模块的创建和导入:
if __name__==‘__main__‘   主动执行会执行,导入不执行
常用模块:
Import sys
Sys.path
Sys.path
Sys.exit
Import os
os.system(‘uname‘)
Os.mkdir(‘myDir‘)
Os.chdir(‘~‘)
python-3_函数_匿名函数_正则_yield_迭代器_序列化_内置函数_模块
原文:http://9408347.blog.51cto.com/9398347/1878455