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