python-列表生成式(二)(应用实例)

本文作者:黎智煊,叩丁狼高级讲师。原创文章,转载请注明出处。

上一节说到了列表生成式的原理和基本语法,现在就写一些实例进行说明

我们可以对几个生成列表的要求分别通过“不使用列表生成式”和“使用列表生成式”来实现,然后做个对比总结。

实例1:生成一个从3到10的数字列表

不使用列表生成式实现

list1 = range(3, 11)

使用列表生成式实现

list2 = [x for x in range(3, 11)]

实例2:生成一个2n+1的数字列表,n为从3到11的数字

不使用列表生成式实现

list3 = []
for n in range(3, 11):
    list3.append(2*n + 1)

使用列表生成式实现

list4 = [2*n + 1 for n in range(3, 11)]

实例3:过滤出一个指定的数字列表中值大于20的元素

L = [3, 7, 11, 14,19, 33, 26, 57, 99]

不使用列表生成式实现

list5 = []
for x in L:
    if x < 20:
        list5.append(x)

使用列表生成式实现

list6 = [x for x in L if x > 20]

实例4:计算两个集合的全排列,并将结果作为保存至一个新的列表中

L1 = ['香蕉', '苹果', '橙子']
L2 = ['可乐', '牛奶']

不使用列表生成式实现

list7 = []
for x in L1:
    for y in L2:
        list7.append((x, y))

使用列表生成式实现

list8 = [(x, y) for x in L1 for y in L2]

实例5:将一个字典转换成由一组元组组成的列表,元组的格式为(key, value)

D = {'Tom': 15, 'Jerry': 18, 'Peter': 13}

不使用列表生成式实现

list9 = []
for k, v in D.items():
    list9.append((k, v))

使用列表生成式实现

list10 = [(k, v) for k, v in D.items()]

想获取更多技术干货,请前往叩丁狼官网:http://www.wolfcode.cn/all_article.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,913评论 2 59
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,009评论 3 119
  • 说是来西天取经,一点不为过,条件太艰苦了。 首先是酒店的地热,室内28度,热得冒汗,雾霾严重,走一圈差点中毒的感觉...
    学习教练苏仲平阅读 329评论 0 0
  • 北京梦之翼传统文化家塾学子 今日成长的力量: 1.宋承皓同学今天在学堂的表现非常好!在习劳方面能带领同学一起打扫教...
    梦之翼教育的简书阅读 159评论 0 0