zoukankan      html  css  js  c++  java
  • python3 map,filter和列表推导式

        num_list = [11,2,-33,10,7,3,5,43]

      1、filter  函数

        获取num_list大于5的元素,并返回列表

        用lambda表达式实现:

          # 在python2 中 filter返回的是一个列表,可以用for遍历

          # 在python3 中 filter返回的是一个filter对象,可以用for遍历,也可以用list转换为列表

          list2 = list(filter(lambda x: x>5, num_list))

          print(list2) #输出:[11, 10, 7, 43]

        用列表推导式实现:

          list2 = [x for x in num_list if x >5]

          print(list2) #输出:[11, 10, 7, 43]

      2、map 函数

        给num_list的所有元素都乘以2,并返回列表

        用lambda表达式实现:

          # 在python2 中 map返回的是一个列表,可以用for遍历

          # 在python3 中 map返回的是一个map对象,可以用for遍历,也可以用list转换为列表

          list3 = list(map(lambda x: x*2, num_list))

          print(list3) #输出:[22, 4, -66, 20, 14, 6, 10, 86]

        用列表推导式实现:

          list3 =[x*2 for x in num_list]

          print(list3) #输出:[22, 4, -66, 20, 14, 6, 10, 86]

      3、Reduce函数

        引入:from functools import reduce

        计算num_list所有元素之和

        list4 = reduce(lambda x,y: x+y, num_list)

        print(list4) #输出 :48

      4、列表推导式

        获取num_list列表中大于0的元素并执行平方操作

        squared_list = [x**2 for x in num_list if x >0]

        print(squared_list)  #输出 :[121, 4, 100, 49, 9, 25, 1849]

      5、list join操作

        binfo = ['lao','wang','python']

        content = " ".join(binfo)

        print(content)  #输出 :lao wang python

        content = ";".join(binfo)

        print(content) #输出 :lao;wang;python

        

  • 相关阅读:
    Visual C++ 2010 SP1 x86&x64
    MVC拦截
    自定义HTTP消息拦截
    转mysql半主从同步
    mysql主从搭建之诡异事件
    snapshot相关
    分布式系统唯一ID生成方案汇总
    mysql监控利器mysqlmtop部署安装
    mysql日常运维
    MySQL索引背后的数据结构及算法原理
  • 原文地址:https://www.cnblogs.com/shaosks/p/9449540.html
Copyright © 2011-2022 走看看