Python列表精讲

列表推导式

列表推导式的本质就是通过一个循环体来构建一个列表对象,分为两个部分:计算部分+循环部分,for前面的是计算部分,for后面的是循环部分。

复制代码
语法格式:[ 计算部分 for循环部分]
计算部分:是一个计算表格式,将每一个循环变量带入表达式,计算的结果就是列表的元素值;
循环部分:是一个for var in iterable的循环体,获取可循环的变量值。
下面通过举例来学会使用列表推导式。
# demo1
lst=[i*i for i in range(5)] # [0,1,4,9,16]
循环部分是0-4,计算部分是每个循环值的平方,很好理解吧。

# demo2
lst=[i*i for i in range(10) if i%2==0]	# [0, 4, 16, 36, 64]
对于循环部分,可以使用if进行变量过滤

# demo3
lst=[i*i if i%2==0 else i*2 for i in range(10)]
# [0, 2, 4, 6, 16, 10, 36, 14, 64, 18]
for前面是整个计算部分,只不过是多了一个if...else三元运算符而已

列表推导式掌握到这种程度就够用了,不用学习那种炫技的手法,不要写过于复杂的推导式。

相关推荐
Java后端的Ai之路36 分钟前
Python 进阶探索30 - Python中的装饰器
开发语言·人工智能·python·文件处理·装饰器模式
言乐61 小时前
Python基于关键词分拣快递(适用于电商与货运代理等)
开发语言·python·django·virtualenv·pygame
代码方舟1 小时前
Python数据工程:利用天远名下车辆车牌查询A优化个人债务重组与清偿能力评估合规体验
人工智能·python
卷无止境1 小时前
当AI写代码遇见Rust为什么会卡壳
后端·python
栈溢出了1 小时前
LangGraph State、节点与动态路由学习笔记
python
用户019027581611 小时前
A 股代码后缀 .SH/.SZ/.BJ 怎么区分?Python 怎么统一处理沪深京港美股代码?
python
迅猛龙办公室1 小时前
python实现简单进度条
java·前端·python
郝学胜_神的一滴1 小时前
AI 编程智能体 06:用Anaconda搞定Python多环境,彻底告别版本兼容灾难
人工智能·python
清水白石0081 小时前
Python 对象模型深度解析:从“一切皆对象”到 id、type、isinstance 底层机制与小整数缓存原理
开发语言·python·缓存
for_ever_love__1 小时前
Python 进阶——迭代器、生成器、装饰器与 asyncio
python·装饰器·生成器·大模型开发