首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python中期学者必看之map以及filter列表实现

前言:在初学python的时候,相信大家都接触过一种在python中精炼语法的做法 , 官方称为:list comprehension( 列表推导 )或许没有印象,不过接下来这个例子,可以让大家立刻明白这是什么方法 .

在上例中,利用列表推导来实现平方值构建列表,对于简单的函数而言,用列表推导要比内建的函数map简单得多,如果你要用map函数,需要创建lambda函数,用来计算和描述列表 :

列表推导比上述例子要简单,不像map那样复杂,新的列表不会包含计算结果,一般的,我们只需要在循环后面添加条件表达式即可 :

对于上例也可以吧map函数和filter函数结合起来使用,但是代码晦涩难懂 :

在python中,字典也同样支持推导 :

列表推导的矩阵实现(二维数组) :

列表推导是支持多个if语句的,在同一级别的条件中,默认以and连接表达式,例如要从列表中过滤出大于5的偶数,下列方法是等效的 :

尽管这是一种优化代码的好方法,但是,在多人协作的工作中,如果使用了过于多的列表循环表达式的话,虽然使得空间节省,但是非常难懂 ,所以合理利用,加以节省空间,还需要多尝试才行 .

今天的文章就写到这,明天与大家交流交流用生成器表达式来改写数值过大的list推导以及为什么在工作中尽量用enumerate取代range的原因 .

刚创了个新QQ群:685012311欢迎大家进来交流,一起进步 !

每天不断的干货 , 助你成长 .

编辑于 21:36

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180220G0OBM300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券