python学习之路(六)

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

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

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

列表推导式的基本形式是

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

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

一,将列表中的元素翻倍

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
代码游侠4 小时前
学习笔记——线程控制 - 互斥与同步
linux·运维·笔记·学习·算法
爱吃泡芙的小白白5 小时前
Agent学习——xiaomi MiMo V2 Flash大模型的API申请
学习·agent·xiaomi mimo
四谎真好看5 小时前
MySQL 学习笔记(进阶篇1)
笔记·学习·mysql·学习笔记
三品吉他手会点灯5 小时前
STM32F103学习笔记-19-SysTick-系统定时器(第1节)-功能框图讲解和优先级配置
笔记·stm32·单片机·嵌入式硬件·学习
لا معنى له5 小时前
学习笔记:Transformer
人工智能·笔记·深度学习·学习·机器学习·transformer
JosieBook5 小时前
【Vue】03 Vue技术——Vue.js 入门学习笔记:Hello World 案例详解
vue.js·笔记·学习
我想我不够好。5 小时前
电工作业中元件的作用
学习
协同生态6 小时前
天锐绿盾新版注册机【仅用于个人学习,禁止其他用途】
学习
Cuby!6 小时前
【AFDM与信号处理:论文阅读】仿射频分复用:扩展OFDM以实现场景灵活性和弹性
论文阅读·笔记·学习·信息与通信·信号处理
AAA阿giao6 小时前
从零开始学 React:用搭积木的方式构建你的第一个网页!
前端·javascript·学习·react.js·前端框架·vite·jsx