zoukankan      html  css  js  c++  java
  • map()、reduce()、filter()总结

    map()函数:处理序列中的每一个元素,得到的结果是一个迭代器形式,该迭代器的位置以及元素个数与原来一样可以处理任何可迭代序列

    filter()函数:遍历序列中的每一个元素,判断每个元素得到的布尔值,如果是True则留下来

    1 people=[{'name':'alex','age':1000,
    2          'name':'alex2','age': 10000,
    3          'name':'alex3','age': 9000,
    4          'name':'alex4','age': 35,
    5          'name':'alex5','age': 18,}]
    6 res=(list(filter(lambda x:x['age']<=100,people)))
    7 print(res)
    [{'name': 'alex5', 'age': 18}]
    
    Process finished with exit code 0
    

     

     1 movie_perple = ['chenchensb_','linlin','guoguo0','wowowsb_','dascsasb_']
     2 # lambda x:x.endswith('sb_')
     3 def filte(func,x):
     4     array=[]
     5     for i in x:
     6         if not func(i):
     7             array.append(i)
     8     return array
     9 # res1=filter_test(lambda x:x.endswith('sb_'),movie_perple)
    10 # res2=filter_test(lambda x:x.startswith('c'),movie_perple)
    11 print(filter(lambda x:x.endswith('sb_'),movie_perple))
    12 print(list(filter(lambda x:x.endswith('sb_'),movie_perple)))
    13 print(list(filter(lambda x:not x.endswith('sb_'),movie_perple)))
    14 # print(res1)
    15 # print(res2)

    运行结果:

    1 <filter object at 0x02D8FCD0>
    2 ['chenchensb_', 'wowowsb_', 'dascsasb_']
    3 ['linlin', 'guoguo0']
    4 
    5 Process finished with exit code 0

    reduce()函数:处理一个序列,然后把序列进行合并

    1 from functools import reduce
    2 num_l=[1,2,3,4,5]
    3 # reduce(函数,可迭代对象,初始值)
    4 print(reduce(lambda x,y:x+y,num_l,100))
     
     1 list=[1,2,3,5,6]
     2 def reduce_num(func,array,init=None):
     3     if init is None:
     4         res=list.pop(0)
     5     else:
     6         res=init
     7     for num in array:
     8         res=func(res,num)
     9     return res
    10 result=reduce_num(lambda x,y:x*y,list,100)
    11 print(result)

    运行结果:

    18000
    
    Process finished with exit code 0
  • 相关阅读:
    Django基础(一)_URLconf、Views、template、ORM
    MySQL数据库(8)_MySQL数据库总结
    MySQL数据库(6)_用户操作与权限管理、视图、存储过程、触发器、基本函数
    前端基础之jquery_mouse相关操作与不同
    前端基础之jquery
    前端基础之JavaScript_(5)_DOM对象总结
    前端基础之JavaScript_(4)_js的作用域
    前端基础之JavaScript_(3)_DOM对象
    MSB与LSB Big Endian Little Endian
    samba配置
  • 原文地址:https://www.cnblogs.com/gl-gl/p/9130124.html
Copyright © 2011-2022 走看看