本文主要总结常见的函数知识点。python
一、zip函数express
用来并行迭代,能够把两个序列并在一块儿,而后返回一个元组的列表函数
names = ['Ann','Jame','Anla'] ages = [11,12,14] print(zip(names,ages)) #[('Ann', 11), ('Jame', 12), ('Anla', 14)] #zip能够出来不等长的序列,当最短的序列“用完”的时候就会中止 #range会计算全部的数字,xrange就没这个问题,它只计算前5个数字 print(zip(range(3),xrange(1000))) #[(0, 0), (1, 1), (2, 2)]
二、enumerate函数学习
用于将一个可遍历的数据对象(如列表、元组或字符串)组合成一个索引序列,同事列出数据和数据下标,通常用在for循环当中。spa
seasons = ['Spring','Summer','Fall','Winter'] print(list(enumerate(seasons))) #[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] print(list(enumerate(seasons,start=1))) #[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')] for i,element in enumerate(seasons): print i,element
三、exec语句 和 eval语句code
exec语句会执行存在在字符串中的python代码;对象
eval语句会计算python表达式(以字符串形式书写)而且返回结果值;blog
exec("print('hello,world')") #hello,world print(eval("6+18*2")) #42 #eval(raw_input(prompt))等同于input() a = input("enter expression:") #1+2 print(a) #3
四、map函数索引
map(func,seq[,seq,...]) 对序列中的每一个元素应用函数。ip
filter(func,seq) 返回其函数为真的元素的列表
reduce(func,seq[,seq,...]) 等同于 func(func(func(seq[0],seq[1]),seq[2]),...),它会将序列的前两个元素与给定的函数联合使用,而且将他们的返回值和第三个元素继续联合使用,直到整个序列都处理完毕,而且获得一个最终结果。
#等同于str(i) for i in range(5) print(map(str,range(5))) #['0', '1', '2', '3', '4'] print(map(sqrt, [4,9])) #[2.0, 3.0] print(filter(None, [1,0,2])) #[1, 2] print(reduce(lambda x,y:x+y, [1,2,3,4,5])) #15
注:map和filter函数通常能够使用列表推导式代替。
持续学习、更新中...