Python之列表推导式
简介:
列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表。
它的结构是在一个中括号里包含一个表达式,然后是一个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之列表推导式相关推荐
- python使用列表推导式(list comprehension)和itertools生成浮点数列表
python使用列表推导式(list comprehension)和itertools生成浮点数列表 目录 python使用列表推导式(list comprehension)和itertools生成浮 ...
- python 3列表推导式的的一点理解!
python 3列表推导式的的一点理解! Python的列表推导式对于新手来说一般都难以理解,简单看个例子: [x * x for x in range(1,100)] 上面是一个很简单的列表推导式, ...
- Python 的列表推导式
文章目录 Python 的列表推导式 相关知识 1.简介 2.主要的 range() 函数 3.简化列表的创建 4.常见用法 5.字典的列表推导式 6.集合的列表推导式 Python 的列表推导式 相 ...
- Python 之 列表推导式
Python 之 列表推导式 简单的例子 高级用法的例子 简单的例子 list1 = [1,2,3,4,5,6] list2 = [] for num in list1:list2.append(nu ...
- python用列表推导式_python如何使用列表推导式
python使用列表推导式的方法:1.用于使用其他列表创建一个新列表:2.可以对原列表进行变换和筛选:3.对多重嵌套的list进行变换筛选. python使用列表推导式的方法: python中列表推导 ...
- Python的列表推导式
列表推导式是Python基础,好用,而又非常重要的功能,也是最受欢迎的Python特性之一,可以说掌握它是成为合格Python程序员的基本标准.本质上可以把列表推导式理解成一种集合了变换和筛选功能的函 ...
- Python中列表推导式同filter和map的比较
symbols = "symbols" beyond_ascii = [ord(s) for s in symbols if ord(s) > 100]beyond_asci ...
- Python的列表推导式和嵌套列表推导式
推导式 推导式的基本形式: [expr for val in Collection if condition] 简单翻译一下: [操作 for 值 in 容器 if 条件] strings = ['b ...
- Python之 列表推导式(含例题)
列表推导式: 最终得到的是一个列表 格式1: list1 = [ i for i in range(1,21) ] (其中最左边i,是输出列表中的元素) 等价于简单代码: list ...
- Python:列表推导式、生成器、迭代器
1. 列表推导式 列表推导式是通过旧的列表通过公式推导出新的列表 还有集合推导式.字典推导式,与列表推导式类似 格式为: [表达式 for 变量 in 旧列表] [表达式 for 变量 in 旧列表 ...
最新文章
- COCO2017数据集api说明
- 当下网络营销市场中为何企业可通过网络营销提升自我价值?
- 辣眼睛:程序员这样过儿童节
- 从缓存行出发理解volatile变量、伪共享False sharing、disruptor
- QSlider QLCDNumber 最常用的函数和 信号槽 (以后用到在加)
- Time除了监控程序运行时间还能干这个?
- 基于大中台小前台模式设计高并发电商架构
- 事务隔离级别神话与误解
- 使用表的id+随机数做不重复的订单号
- VB连接ACCESS数据库
- 2021 泰迪杯 A 题
- PuttyPsftp命令行实现自动登录
- 23位子网掩码是多少_无敌子网掩码(IP地址)计算方法(完全心算法)
- js 实现大小写转换的方法
- 剑指Offer_入门_JZZ_斐波那契数列
- 数据结构--树与二叉树
- 如何使用可编程无线SIM和Arduino MKR GSM 1400播放MP3文件
- 基于Joplin和WebDAV搭建私有云笔记
- python中 math模块下 atan 和 atan2的区别
- ETL工具之Informatica