zsj_蓝桥python系列二_Python 基础语法 _Python 列表推导式

news/2025/12/8 21:03:36/文章来源:https://www.cnblogs.com/zsj007/p/19323654

Python 基础语法 Python 列表推导式
你有没有写过这样的代码?想生成一个新列表,得先建空列表、再写 for 循环、最后用append()加元素 —— 又长又麻烦。今天教你一个 Python “偷懒小技巧”:列表推导式,用一行代码就能代替 3 行循环,既简洁又高效。

一,列表推导式(List Comprehension)
列表推导式是 Python 中简洁、高效的语法,核心作用是:用一行代码完成 “遍历可迭代对象→处理元素→生成新列表” 的全过程,替代繁琐的for循环 +append()写法,同时可读性更强、执行速度更快。

二,为什么列表推导式更好用?
在没有列表推导式时,要生成一个 “处理后的新列表”,需要写多行for循环:
示例:生成 1-10 的平方数列表
传统for循环写法(繁琐):
squares = [] # 1. 先创建空列表
for num in range(1, 11) # 2. 循环遍历1-10
squares.append(num * num) # 3. 处理元素(求平方),添加到列表
print(squares)
列表推导式写法(1 行代码):
squares = [num * num for num in range(1, 11)] # 输出和上面完全一样
这样看起来是不是瞬间清爽了?这就是列表推导式的核心:把 “遍历、处理、生成列表” 压缩成一行。

三、列表推导式的基础语法(照着套就行)
列表推导式的结构很固定,记住这个公式:
新列表 = [对元素的处理操作 for 元素 in 可迭代对象]
拆解一下每个部分:
对元素的处理操作:拿到每个元素后,你想做的事(比如取首字母、算平方);
元素:给遍历到的每个内容起个名字(比如遍历单词叫word,遍历数字叫num);
可迭代对象:你要遍历的东西(比如列表、字符串、range())

四、列表推导式的 “坑”:别写太复杂!
列表推导式虽然简洁,但不要把复杂逻辑都堆在一行里—— 比如嵌套多个循环、写超长的处理操作,会让代码变得难以阅读。

五、实战: “词组缩写题”:列表推导式是核心
题目描述
输入一个由多个英文单词组成的词组(单词之间用空格分隔),请你编写程序,提取每个单词的首字母并转为大写,然后将这些首字母拼接起来,得到这个词组的缩写,最后输出该缩写
words = input().split() # 1. 读取输入,分割成单词列表
abbr_chars = [word[0].upper() for word in words] # 2. 用列表推导式:取每个单词首字母+转大写
abbr = "".join(abbr_chars) # 3. 拼接成缩写
print(abbr)
如果不用列表推导式,这一步要写 4 行代码:
abbr_chars = []
for word in words:
first_char = word[0].upper()
abbr_chars.append(first_char)
对比下来,列表推导式是不是既快又省力?

六,总结
列表推导式是 Python 的 “语法糖”—— 它没增加新功能,但让代码更简洁、更易读。记住这 2 个核心用法:
基础版:[处理操作 for 元素 in 可迭代对象](遍历所有元素并处理);
筛选版:[处理操作 for 元素 in 可迭代对象 if 条件](只处理符合条件的元素)
下次写循环生成列表时,试试用列表推导式 —— 一行代码搞定,效率直接翻倍!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/993551.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

白带异常用药推荐:科学应对妇科炎症的健康指南

白带是女性生殖系统健康的“晴雨表”,正常情况下呈透明或白色糊状、无异味。当白带出现颜色异常(如黄绿色、灰色)、性状改变(如豆腐渣样、泡沫状)或伴随瘙痒、异味时,可能提示阴道炎、宫颈炎等妇科炎症。世界卫生…

获取数组长度即最大下标

获取数组长度即最大下标$xm = array(小明,男,28,5888.88);//count()函数用于返回数组长度(元素的个数),int(整型)$x = count($xm);echo $x;echo "<br>";var_dump($x);//3.使用数组长度添加数据$xm[c…

第49天

今天学习的java

JAVA学习笔记-DAY3

引用类型 VS 指针在Java中,引用类型的变量非常类似于C/C++的指针。 引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不…

北京婚姻家庭法律事务所服务观察:专业机构业务能力解析

在社会关系日益复杂化的当下,婚姻家庭领域的法律需求呈现多样化趋势,涵盖离婚纠纷、财产划分、子女抚育、遗产继承等多个维度。专业的婚姻家庭法律事务所凭借其对细分领域的深耕,为当事人提供法律支持与权益保障,成…

火小兔的两种交互方式与全部命令 - Magic

使用本平台开发脚本 从微软官方渠道安装完毕后,可以从开始菜单中搜索到“机关区”和“火小兔”。机关区——调试窗口(演示):直接双击“机关区”,进入界面之后就可以直接编写,调试,编辑,浏览,运行本平台命令;…

123_尚硅谷_匿名函数

123_尚硅谷_匿名函数1.匿名函数使用方式1:在定义匿名函数时就直接调用 2.匿名函数使用方式2:将匿名函数赋给一个变量,再通过该变量调用匿名函数 3.全局匿名函数

推荐几个模切机品牌:国内实力厂商推荐

模切机作为印后加工和精密制造领域的关键设备,广泛应用于印刷、包装、电子、图文处理等行业,其性能直接影响产品的加工精度、生产效率及成品质量。在各行业对加工工艺要求不断提升的背景下,选择技术成熟、品质可靠的…

白带异常用药品牌排行榜:科学守护女性生殖健康

白带是女性生殖系统健康的“晴雨表”,正常情况下呈无色透明或乳白色糊状,无异味。当出现颜色、质地、气味异常(如黄绿色、豆腐渣样、鱼腥味等)时,可能提示阴道炎症、宫颈病变或盆腔感染等问题。及时识别症状并采取…

洛谷 P3959

NOIP 2017 提高组给定 \(n\) 个点,\(m\) 条边的无向连通图。要选出一棵有根生成树,设 \(u\) 与 \(fa_u\) 之间的边长度为 \(l_u\),总代价为 \(\sum l_u \cdot dis(u, root)\),求最小总代价是多少? \(n \le 12, m …

西城区离婚律师事务所推荐:专注婚姻家事法律服务机构

在处理婚姻家事相关事务时,选择专业的法律服务机构是保障自身权益的重要环节。西城区作为北京核心区域,汇聚了多家在婚姻家事领域具备丰富经验的律师事务所,为有需求的人士提供专业支持。一、推荐榜单推荐 1:北京安…

治疗白带异常品牌哪家好?女性健康护理品牌解析

白带异常是女性生殖系统健康的常见信号,可能由感染、激素变化或局部卫生习惯等多种因素引起。科学认识白带异常的成因与护理方式,选择专业可靠的健康管理方案,对维护女性私密健康至关重要。一、白带异常的科学认知与…

工厂电动扫地车品牌推荐:行业热门选择解析

在工业生产环境中,工厂车间、仓库等场所的地面清洁工作往往面临面积大、粉尘多、杂物复杂等挑战。电动扫地车作为高效的清洁设备,通过机械化作业不仅能显著提升清洁效率,减少人工成本,还能有效改善车间环境,为安全…

北京婚姻法律师事务所排名及综合实力解析

在社会经济发展与家庭结构变化的背景下,婚姻家事法律需求日益增长,北京地区涌现出众多专注于婚姻法律服务的律师事务所。选择一家专业、经验丰富的机构,对于妥善处理婚姻纠纷、维护个人合法权益具有重要意义。以下结…

12月8号

今天进行了统一建模的学习和数据结构的学习。 然后进行了java的学习。

三种数组创建方法

三种数组创建方法//1.短数组语法创建,PHP5.4起开始使用$yiban = [张三,李四,王五,赵六]; //php索引数组//2.使用array()创建$yiban = array(张三,李四,王五,赵六); //php索引数组//3.直接赋值 创建数组$yiban[0] …

水下的成长——Goodbye 2025

本文同步发在博客. 嗨,你好。 写年终总结实在是件很蛋疼的事情:一方面根本不记得这一年自己怎么过的,一方面若不写,又觉得之前的年札全做白费了。今年作为出国的第一年,尤其觉得过得实在很快,仿佛只有一月和十二…

东城区离婚律师事务所推荐:专注婚姻家事的法律服务机构

在婚姻家庭法律事务的处理中,专业的律师事务所能够为当事人提供关键的法律支持。东城区作为北京的核心区域,聚集了多家在婚姻家事领域深耕的法律服务机构,这些机构在离婚纠纷、财产分割、子女抚养等案件中积累了丰富…

模切机供应商哪家强?国内优质企业实力与业务解析

在现代工业生产中,模切机作为纸品、薄膜、橡胶等材料加工的关键设备,广泛应用于印刷包装、电子制造、医疗器械等领域。随着市场对产品精度和生产效率的要求提升,选择技术可靠、性能稳定的模切机供应商成为企业保障生…