python学习之路(六)

一个被高等数学折磨的不成人样的男大,来整会python换换脑子,顺便做点笔记。

我们上一个博客在输出列表是遇见过这样的问题

我们图省事,用了一个自认为简单的算法来输出一个二位的数组,但是在改变其中某项的数值时,遇到了上述问题。而使用列表推导式就可以轻松的解决上述问题。

列表推导式的基本形式是

表达式 for 变量 in 可迭代对象 if 条件

我们可以使用列表推导式对列表进行多种操作

一,将列表中的元素翻倍

传统的解决办法是通过for循环将列表中的每个元素乘以2,然后赋值给一个新的列表。

而通过使用列表推导式,我们只需要一行代码就可以解决问题。

我们看到这个列表推导式里面是可以加入if语句的,所以我们也可以用它来解决一些筛选列表中元素的问题。

这里复习一下之前学过的一个小点:new_lst.append(x),这串代码的作用是将元素添加到new_lst这个列表的后面。

在列表推导式中,作用的元素可以不止一个。

就像上面的图片中所显示的一样,我们也可以通过列表推导式对 一个坐标进行生成与输出。

当然带上条件的也是可以的

这里还有一个执行顺序的问题,我们来看下面这张图片

通过对表达式进行修改与变换,我们可以知道它是先执行for循环,然后执行if判断,最后执行表达式的。

在列表推导式中我们也可以通过使用嵌套,来简化传统方法中有好几个for的情况。

这里我们需要注意到一个细节,就是在传统代码中在外层的for循环,在列表推导式中是靠前的,而在内层的for循环是靠后的。

tips:如果变量是无关紧要的,或者是一个临时的变量,那么他的变量名是可以用下划线代替的。

通过上面的学习我们发现,列表推导式其中的for循环是可以嵌套很多的,所以在平时编写时,我们要注意嵌套的多少从而降低代码的维护成本以及运行成本。

字符串的内容到此为止!!!!!!

相关推荐
吃好睡好便好11 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
nashane11 小时前
HarmonyOS 6学习:CapsLock键失效诊断与长截图完整实现指南
学习·华为·harmonyos
xian_wwq13 小时前
【学习笔记】AGC协调控制系统概述
笔记·学习
憧憬成为java架构高手的小白14 小时前
docker学习笔记(基于b站多个视频学习)【未完结】
笔记·学习
辰海Coding15 小时前
MiniSpring框架学习-完成的 IoC 容器
java·spring boot·学习·架构
闫记康15 小时前
Linux学习day5
linux·chrome·学习
一楼的猫16 小时前
从工具链视角对比:番茄作家助手 vs 第三方写作辅助方案
java·服务器·开发语言·前端·学习·chatgpt·ai写作
他们叫我阿冠16 小时前
实习前自我培训-Day1学习
学习
Upsy-Daisy17 小时前
AI Agent 项目学习笔记(七):RAG 高级扩展——过滤检索、PgVector 与云知识库
人工智能·笔记·学习
柿柿快乐17 小时前
Redis 入门第一课:全局命令、内部编码与单线程模型
redis·学习·缓存·基础教学