简介:

列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表。

它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句。那个表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表,在这个以 if 和 for 语句为上下文的表达式运行完成之后产生。

列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往右进一层,左边第一条语句是最后一层。

例如:

[x for x in range(1, 11) if x % 2 == 0]
# result: [2, 4, 6, 8, 10]

执行顺序则为:

for x in range(1, 11)if x % 2 == 0x
使用场景:
1.除了上述例子外,x可以是一个表达式:
# 返回1-100之间偶数的平方作为一个列表
>>> [x*x for x in range(1,100) if x % 2 == 0]
result:
[4, 16, 36, 64, 100, 144, 196, 256, 324, 400, 484, 576, 676, 784, 900, 1024, 1156, 1296, 1444, 1600, 1764, 1936, 2116, 2304, 2500, 2704, 2916, 3136, 3364, 3600, 3844, 4096, 4356, 4624, 4900, 5184, 5476, 5776, 6084, 6400, 6724, 7056, 7396, 7744, 8100, 8464, 8836, 9216, 9604]

其中x*x作为一个表达式在此。仅仅是想说明使用自由!

2.可以有两个(多个)for循环及两个(多个)变量
# x在取值范围内与y的值两两组合,返回一个以列表为元素的列表
>>> [[x,y] for x in range(1, 3) for y in range(4, 6)]
result: [[1, 4], [1, 5], [2, 4], [2, 5]]

过程:

  • x为1时,y第一次取4,组合为[1, 4]列表append到总列表中
  • x=1,y=5;组合为[1, 5],append到[1,4]之后
  • 以此类推
3.加工函数
>>> [[str(x),x*x] for x in range(1,10) if x % 2 == 0]
[['2', 4], ['4', 16], ['6', 36], ['8', 64]]
4.嵌套遍历双重结构
>>> list = [[1,2,3], [4,5,6], [7,8,9]]
>>> [x for y in list for x in y]
[1, 2, 3, 4, 5, 6, 7, 8, 9]

Python之列表推导式相关推荐

  1. python使用列表推导式(list comprehension)和itertools生成浮点数列表

    python使用列表推导式(list comprehension)和itertools生成浮点数列表 目录 python使用列表推导式(list comprehension)和itertools生成浮 ...

  2. python 3列表推导式的的一点理解!

    python 3列表推导式的的一点理解! Python的列表推导式对于新手来说一般都难以理解,简单看个例子: [x * x for x in range(1,100)] 上面是一个很简单的列表推导式, ...

  3. Python 的列表推导式

    文章目录 Python 的列表推导式 相关知识 1.简介 2.主要的 range() 函数 3.简化列表的创建 4.常见用法 5.字典的列表推导式 6.集合的列表推导式 Python 的列表推导式 相 ...

  4. Python 之 列表推导式

    Python 之 列表推导式 简单的例子 高级用法的例子 简单的例子 list1 = [1,2,3,4,5,6] list2 = [] for num in list1:list2.append(nu ...

  5. python用列表推导式_python如何使用列表推导式

    python使用列表推导式的方法:1.用于使用其他列表创建一个新列表:2.可以对原列表进行变换和筛选:3.对多重嵌套的list进行变换筛选. python使用列表推导式的方法: python中列表推导 ...

  6. Python的列表推导式

    列表推导式是Python基础,好用,而又非常重要的功能,也是最受欢迎的Python特性之一,可以说掌握它是成为合格Python程序员的基本标准.本质上可以把列表推导式理解成一种集合了变换和筛选功能的函 ...

  7. Python中列表推导式同filter和map的比较

    symbols = "symbols" beyond_ascii = [ord(s) for s in symbols if ord(s) > 100]beyond_asci ...

  8. Python的列表推导式和嵌套列表推导式

    推导式 推导式的基本形式: [expr for val in Collection if condition] 简单翻译一下: [操作 for 值 in 容器 if 条件] strings = ['b ...

  9. Python之 列表推导式(含例题)

    列表推导式: 最终得到的是一个列表 格式1: list1 = [ i for i in range(1,21) ]           (其中最左边i,是输出列表中的元素) 等价于简单代码: list ...

  10. Python:列表推导式、生成器、迭代器

    1. 列表推导式 列表推导式是通过旧的列表通过公式推导出新的列表 还有集合推导式.字典推导式,与列表推导式类似 格式为: [表达式 for 变量 in 旧列表] [表达式 for 变量 in 旧列表 ...

最新文章

  1. COCO2017数据集api说明
  2. 当下网络营销市场中为何企业可通过网络营销提升自我价值?
  3. 辣眼睛:程序员这样过儿童节
  4. 从缓存行出发理解volatile变量、伪共享False sharing、disruptor
  5. QSlider QLCDNumber 最常用的函数和 信号槽 (以后用到在加)
  6. Time除了监控程序运行时间还能干这个?
  7. 基于大中台小前台模式设计高并发电商架构
  8. 事务隔离级别神话与误解
  9. 使用表的id+随机数做不重复的订单号
  10. VB连接ACCESS数据库
  11. 2021 泰迪杯 A 题
  12. PuttyPsftp命令行实现自动登录
  13. 23位子网掩码是多少_无敌子网掩码(IP地址)计算方法(完全心算法)
  14. js 实现大小写转换的方法
  15. 剑指Offer_入门_JZZ_斐波那契数列
  16. 数据结构--树与二叉树
  17. 如何使用可编程无线SIM和Arduino MKR GSM 1400播放MP3文件
  18. 基于Joplin和WebDAV搭建私有云笔记
  19. python中 math模块下 atan 和 atan2的区别
  20. ETL工具之Informatica

热门文章

  1. 使用IDEA工具查看Java类层次结构关系图
  2. TransactionSynchronizationManager用法和含义
  3. 常见的传输介质及其特性
  4. 前端css——css三大布局模型
  5. 数据不在有用时进行安全销毁
  6. 信创操作系统--统信UOS桌面版(登录与激活统信:直接登录、远程登录、锁屏、电源管理、激活)
  7. Visual Studio运行C语言程序(第一个程序)
  8. 看完这篇文章,再也不怕 Elasticsearch 索引设计
  9. 前端 数组转字符串,字符串转数组
  10. 用c语言交通信号灯论文,plc交通信号灯毕业论文.doc