python 学习第四天(map,filter函数)

  • map(func,*iterable)
    将iterable的每个元素都做func函数处理。返回一个map对象,可转化成列表,集合。
ls=[1,2,3,4,5]

ls_2=map(lambda x:x+1,ls) #lambda x:x+1匿名函数
print(ls_2)
print(list(ls_2))
#输出
<map object at 0x10e97c8d0>
[2, 3, 4, 5, 6]
#第二例子
ls=[1,2,3,4,5]
ls_1=[1,2,3,4,5]
ls_2=map(lambda x,y:x+y,ls,ls_1)
print(ls_2)
print(list(ls_2))
#输出
<map object at 0x10dab6400>
[2, 4, 6, 8, 10]
  • filter(func,iterable)
    将iterable的每个元素都做func函数判断(func返回值非空为真,可以不是布尔类型,只要是非空就为真,空或者0为假),判断结果是True,则保留这个元素,判断结果是Flase。返回一个filter对象,可转化成列表,集合。
ls=[1,2,3,4,5,6]
ls_2=filter(lambda x:x==1,ls)
print(list(ls_2))


#输出
[1]
ls=[1,2,3,4,5,6]
ls_2=filter(lambda x:x!=1,ls)
print(list(ls_2))
#输出
[2, 3, 4, 5, 6]
ls=[1,2,3,4,5,6]
ls_2=filter(lambda x:[22,33,33],ls)
#lambda x:[22,33,33]的每次的返回值都为[22,33,33],非空,所以全部保留了
print(list(ls_2))



#输出
[1, 2, 3, 4, 5, 6]
ls=[1,2,3,4,5,6]
ls_2=filter(lambda x:[],ls)
#lambda x:[]的每次的返回值都为[],是空列表,所以全部删除了
print(list(ls_2))

#输出
[]

猜你喜欢

转载自blog.csdn.net/CZ505632696/article/details/80216871