map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回
#通过map()函数将list中的数字转换为字符 map(str,range(1,4)) def m(x): return m*2 执行:map(m,[1,4,9]) 返回:[2,8,18]
#示例:将首字母大写,其余小写 def ul(x): return x[0].upper() + x[1::].lower() 执行:map(ul,['lily','lucy','Upa','aMn']) 返回:['Lily', 'Lucy', 'Upa', 'Amn']
和map()类似,filter()也接收一个函数和一个序列。和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。
#取偶 def j(x): return x%2 == 0 执行:filter(j,range(1,11)) 返回:[2, 4, 6, 8, 10]
#返回大于5小于10的数字 def gg(n): return n>5 and n<10 执行:filter(gg,range(1,10)) 返回:[6, 7, 8, 9]
#删除空字符串 def not_empty(s): return s and s.strip() filter(not_empty, ['A', '', 'B', None, 'C', ' ']) # 结果: ['A', 'B', 'C']
lambda:Python支持的一种有趣的语法,允许快速定义单行的最小函数
nn=lambda x,y:x+y 执行: nn(2,3) 或者直接写为: (lambda x,y:x+y)(2,3