Python - 操作列表

一、遍历整个列表:

image.png

深入研究循环:

  • 刚开始使用循环时请牢记,对列表中的每个元素,都将执行循环指定的步骤,而不管列表包含多少个元素。如果列表包含一百万个元素,Python就重复执行指定的步骤一百万次,且通常速度非常快。

image.png

image.png

在for循环结束后执行一些操作:

  • 在for循环后面,没有缩进的代码都只执行一次,不会重复执行。下面来打印一条向全体魔术师致谢的消息,感谢他们的精彩表演。想要在打印给各位魔术师的消息后面打印一条给全体魔术师的致谢消息,需要将相应的代码放在for循环后面,且不缩进:

image.png

避免缩进错误:

  • Python根据缩进来判断代码行与前一个代码行的关系。在前面的示例中,向各位魔术师显示消息的代码行是for循环的一部分,因为它们缩进了。Python通过使用缩进让代码更易读。简单地说,它要求你使用缩进让代码整洁而结构清晰。在较长的Python程序中,你将看到缩进程度各不相同的代码块,从而对程序的组织结构有大致的认识。

image.png

  • 第二个函数调用print()原本需要缩进,但Python发现for语句后面有一行代码是缩进的,因此没有报告错误。最终的结果是,对于列表中的每位魔术师,都执行了第一个函数调用print(),因为它缩进了;而第二个函数调用print()没有缩进,因此只在循环结束后执行一次。由于变量magician的终值为’carolina’,结果只有她收到了消息“looking forward to thenext trick”:

image.png

不必要的缩进:

  • 这种属于缩进逻辑错误!

image.png

二、创建数值列表:

image.png
image.png
image.png

使用range()创建数字列表:

image.png
image.png

  • 使用函数range()几乎能够创建任何需要的数集。
  • 例如,如何创建一个列表,其中包含前10个整数(1~10)的平方呢?在Python中,用两个星号(**)表示乘方运算。
  • 下面的代码演示了如何将前10个整数的平方加入一个列表中:

image.png
image.png

  • 创建更复杂的列表时,可使用上述两种方法中的任何一种。有时候,使用临时变量会让代码更易读;而在其他情况下,这样做只会让代码无谓地变长。你首先应该考虑的是,编写清晰易懂且能完成所需功能的代码,等到审核代码时,再考虑采用更高效的方法。

对数字列表执行简单的统计计算:

  • 这里用了格式化输出:

image.png

列表解析:

  • 前面介绍的生成列表squares的方式包含三四行代码,而列表解析让你只需编写一行代码就能生成这样的列表。列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。面向初学者的书并非都会介绍列表解析,这里之所以介绍列表解析,是因为等你开始阅读他人编写的代码时,很可能会遇到它。

image.png

  • 要使用这种语法,首先指定一个描述性的列表名,如squares。然后,指定一个左方括号,并定义一个表达式,用于生成要存储到列表中的值。
  • 在这个示例中,表达式为value**2,它计算平方值。接下来,编写一个for循环,用于给表达式提供值,再加上右方括号。
  • 在这个示例中,for循环为for value inrange(1,11),它将值1~10提供给表达式value**2。
  • 请注意,这里的for语句末尾没有冒号。

三、使用列表的一部分:

切片:

  • 要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range()一样,Python在到达第二个索引之前的元素后停止。要输出列表中的前三个元素,需要指定索引0和3,这将返回索引为0、1和2的元素。

image.png

遍历切片:

image.png

  • 在很多情况下,切片都很有用。
  • 例如,编写游戏时,你可以在玩家退出游戏时将其最终得分加入一个列表中,然后将该列表按降序排列以获取三个最高得分,再创建一个只包含前三个得分的切片;处理数据时,可使用切片来进行批量处理;编写Web应用程序时,可使用切片来分页显示信息,并在每页显示数量合适的信息。

复制列表:

  • 要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])。这让Python创建一个始于第一个元素、终止于最后一个元素的切片,即整个列表的副本。

image.png
image.png

四、元组:

  • 列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网站的用户列表或游戏中的角色列表至关重要。
  • 然而,有时候你需要创建一系列不可修改的元素,元组可以满足这种需求。
  • Python将不能修改的值称为不可变的,而不可变的列表被称为元组。

定义元组:

  • 元组看起来很像列表,但使用圆括号而非中括号来标识。
  • 定义元组后,就可使用索引来访问其元素,就像访问列表元素一样。

image.png
image.png

遍历元组中的所有值:

image.png

修改元组变量:

  • 虽然不能修改元组的元素,但可以给存储元组的变量赋值。因此,如果要修改前述矩形的尺寸,可重新定义整个元组:

image.png

  • 相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都不变,就可以使用元组。

  • 相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都不变,就可以使用元组。


各位路过的朋友,如果觉得可以学到些什么的话,点个赞 再走吧,欢迎各位路过的大佬评论,指正错误,也欢迎有问题的小伙伴评论留言,私信。

每个小伙伴的关注都是本人更新博客的动力!!!
请微信搜索【 在下小黄 】文章更新将在第一时间阅读 !
在这里插入图片描述

博客中若有不恰当的地方,请您一定要告诉我。前路崎岖,望我们可以互相帮助,并肩前行!


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在下小黄

ღ给个赞 是对小黄最大的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值