Python第四天
之前第三天文件读取代码错误,已修改
fp=open("c.txt","a+") 第二个参数忘了加引号
一、Map
1、map()可以将一个函数依次作用到序列或迭代器对象的每个元素上,并返回map对象
2、第一个参数是函数名,不要括号,也可以是lambda表达式
第二个参数是作用的列表,可以多个参数,但是第二个和第三个参数是一一对应
list(map(str,[1,2,3,5]))
list(map(lambda x,y:x+y,[1,2,3,4,5] , [6,7,8,9,10]))
上面结果是[7, 9, 11, 13, 15]
二、Reduce
1、在标准库functools
from functools import reduce
2、reduce()以累计的方式从左至右依次作用到一个序列或迭代器对象的所有元素上
3、两个参数:第一个是函数名,不要括号,且这个函数有两个参数
第二个是序列或迭代器
reduce(lambda x,y:x+y,[1,2,3,4,5])
只得到一个结果:15
4、得到的是函数的结果,而不是reduce对象
三、Filter
1、是对单参数函数使用作用到一个序列上
2、返回该序列中是的该函数值为True的元素 的filter对象
3、第一个参数是函数,不要括号,第二个参数是序列
zip(),map(),max(),min(),enumerate(),reduce,filter(),len(),sorted(),reversed()等内置函数
以及in也适用于列表对象、元组、字符串
四、列表推导式
1、[表达式 for 变量 in 序列或迭代对象]
2、
aList=[x*x for x in range(10)]
alist=[x.strip() for x in [" banana "," apple","watermelon "]]
x.strip()去除左右两边的空白符
3、阿凡提的米篮问题(64篮)
总共多少粒米: sum([ 2**x for x in range(64) ] )
明天学习字符串的函数和列表切片