zoukankan      html  css  js  c++  java
  • python-12:内置 函数之一 filter map sorted reduce

     

     

    1.filter(function or None, iterable) --> filter object:function 一般为lambda函数,用于指定过滤列表元素的条件,将为TRUE的元素过滤出来。

         a.>>>ls=[1,2,3,4,5,6]
                  print(list(filter(lambda x:x not in ls,[2,8,9,3])))   #将不在ls列表中元素过滤出来,其结果是[8,9]。

     

     

    2.sorted函数。此时lambda函数用于指定对列表中所有元素进行排序的准则。

     

        sorted([1, 2, 3, 4, 5, 6, 7, 8, 9], key=lambda x: abs(5-x)) 将列表[1, 2, 3, 4, 5, 6, 7, 8, 9]按照元素与5距离从小到大进行排序,其结果是[5, 4, 6, 3, 7, 2, 8, 1, 9]。

     

    3.map(func, *iterables) --> map object*iterables表示可接收多个可迭代参数,传递的参数个数,取决于func接收参数的数量

             a.第一个参数 func, 以*iterables序列中的每一个元素调用 func 函数,返回值:包含每次func函数返回值的 map object,可list转化为列表,元组等类型

            b. >>>  list(map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])) -->[3, 7, 11, 15, 19]#提供了2列表,对相同位置的列表数据进行相加

            c.>>> list(map(lambda x,y: {x:y}, ['a', 'b','c'],[1,2,3])) -->[{'a': 1}, {'b': 2}, {'c': 3}] #lambda接收2个参数,传递2个可迭代的参数序列,返回一个字典

     

    reduce函数。此时lambda函数用于指定列表中两两相邻元素的结合条件。功能:合并一个序列,压在一起,得到一个最终结果

           from functools import reduce #要导入包
          k=reduce(lambda a, b:a+b, [1, 2, 3, 4, 5, 6, 7, 8, 9],100) #结果145,功能,将列表中第1个和第2个数相加,结果再与第3个数相加,如果有基数100,把100+1,结果返回再+2,返回,累加操作

     

    reduce(lambda a, b: '{}, {}'.format(a, b), [1, 2, 3, 4, 5, 6, 7, 8, 9]) '1, 2, 3, 4, 5, 6, 7, 8, 9'

     

     

  • 相关阅读:
    mysql数据库 表 导入导出
    Java爬虫
    oracle 表空间统计、自动扩展修改
    dba_segements 没有所有的表的信息
    html&css基础框架
    javascript-ajax之json学习笔记
    符合BME风格的弹窗菜单表格文件上传控件
    iframe元素获取
    文件上传与下载
    JSON.parse 函数
  • 原文地址:https://www.cnblogs.com/Zhouzg-2018/p/9707977.html
Copyright © 2011-2022 走看看