python学习之路(六)

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

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

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

列表推导式的基本形式是

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

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

一,将列表中的元素翻倍

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
点心的游戏开发世界23 分钟前
Unity C# 脚本学习笔记:泛型
学习·unity·c#
tju新生代魔迷2 小时前
Verilog HDL 学习笔记(十三)| 第13章 编程语言接口(PLI)
笔记·学习
我爱cope4 小时前
【计算机网络 | 网络层11:ICMP 协议:Ping 和 Traceroute 的底层原理】
网络·学习·计算机网络
问天_观心4 小时前
大模型微调学习(一)
开发语言·人工智能·学习·语言模型·github
苏生Susheng5 小时前
【软件实施】Linux系统Shell脚本教程
linux·运维·服务器·chrome·spring boot·学习·实施
我命由我123455 小时前
Photoshop - Photoshop 把两个 PSD 文件合并
学习·ui·职场和发展·产品运营·产品经理·学习方法·photoshop
小雪崩7 小时前
嵌入式学习 day39:TCP并发服务器模型
linux·服务器·c语言·网络·学习·tcp/ip
知识分享小能手8 小时前
深度学习学习教程,从入门到精通,概率与信息论 — 知识点详解(3)
人工智能·深度学习·学习·数据挖掘·概率论
Wendy不吃榴莲8 小时前
# AI短剧教程 - 《后西游记》开播后,AI影视为什么更考验“连续讲故事”?
人工智能·笔记·学习·ai·视频
Agudamu11618 小时前
B站学习视频怎么变笔记:用 Ai好记 + Obsidian 搭建个人知识库的完整教程
人工智能·笔记·学习·音视频