Python - 列表

Posted 在下小黄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python - 列表相关的知识,希望对你有一定的参考价值。

一、列表:

  • 列表由一系列按特定顺序排列的元素组成。
  • 你可以创建包含字母表中所有字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。
  • 列表通常包含多个元素,因此给列表指定一个表示复数的名称(如letters、digits或names)是个不错的主意。

访问列表元素:

  • 列表是有序集合,因此要访问列表的任意元素,只需将该元素的位置(索引)告诉Python即可。要访问列表元素,可指出列表的名称,再指出元素的索引,并将后者放在方括号内。


索引从0开始不是从1开始:

  • 在Python中,第一个列表元素的索引为0,而不是1。多数编程语言是如此规定的,这与列表操作的底层实现相关。
  • 第二个列表元素的索引为1。根据这种简单的计数方式,要访问列表的任何元素,都可将其位置减1,并将结果作为索引。
  • 例如,要访问第四个列表元素,可使用索引3。

  • 这种语法很有用,因为你经常需要在不知道列表长度的情况下访问最后的元素。
  • 这种约定也适用于其他负数索引。
  • 例如,索引-2返回倒数第二个列表元素,索引-3返回倒数第三个列表元素,依此类推。

使用列表中的各个值:

二、修改、添加和删除元素:

修改列表元素:

  • 方法append()将元素’ducati’添加到列表末尾,而不影响列表中的其他所有元素:

  • 例如,你可以先创建一个空列表,再使用一系列函数调用append()来添加元素。
  • 下面来创建一个空列表,再在其中添加元素’honda’、‘yamaha’和’suzuki’:

  • 这种创建列表的方式极其常见,因为经常要等程序运行后,你才知道用户要在程序中存储哪些数据。
  • 为控制用户,可首先创建一个空列表,用于存储用户将要输入的值,然后将用户提供的每个新值附加到列表中

在列表中插入元素:

  • 使用方法insert()可在列表的任何位置添加新元素。为此,你需要指定新元素的索引和值。

从列表中删除元素:

使用del语句删除元素


使用方法pop()删除元素

  • 有时候,你要将元素从列表中删除,并接着使用它的值。
  • 方法pop()删除列表末尾的元素,并让你能够接着使用它。术语弹出(pop)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。

  • 首先定义并打印列表motorcycles。接下来,从这个列表中弹出一个值,并将其赋给变量popped_motorcycle中。然后打印这个列表,以核实从中删除了一个值。最后打印弹出的值,以证明我们依然能够访问被删除的值。输出表明,列表末尾的值’suzuki’已删除,它现在被赋给了

  • 方法pop()有什么用处呢?假设列表中的摩托车是按购买时间存储的,就可使用方法pop()打印一条消息,指出最后购买的是哪款摩托车:

  • 每当你使用pop()时,被弹出的元素就不再在列表中了。

  • 如果你不确定该使用del语句还是pop()方法,下面是一个简单的判断标准:如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果你要在删除元素后还能继续使用它,就使用方法pop()。

根据值删除元素:

  • 有时候,你不知道要从列表中删除的值所处的位置。如果只知道要删除的元素的值,可使用方法remove()。


  • 注意:方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来确保将每个值都删除。

三、组织列表:

使用方法sort()对列表永久排序

  • Python方法sort()让你能够较为轻松地对列表进行排序。假设你有一个汽车列表,并要让其中的汽车按字母顺序排列。为简化这项任务,假设该列表中的所有值都是小写的。

  • 还可以按与字母顺序相反的顺序排列列表元素,只需向sort()方法传递参数reverse=True即可。

使用函数sorted()对列表临时排序

  • 要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted()。函数sorted()让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。

倒着打印列表:

  • 要反转列表元素的排列顺序,可使用方法reverse()

  • 注意,reverse()不是按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序:
  • 方法reverse()永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,只需对列表再次调用reverse()即可

确定列表的长度:

  • 使用函数len()可快速获悉列表的长度

  • len()很有用:明确还有多少个外星人未被射杀,确定需要管理多少项可视化数据,计算网站有多少注册用户,等等。

四、使用列表时避免索引错误:

  • Python试图向你提供位于索引3处的元素,但它搜索列表motorcycles时,却发现索引3处没有元素。鉴于列表索引差一的特征,这种错误很常见。有些人从1开始数,因此以为第三个元素的索引为3。然而在Python中,第三个元素的索引为2,因为索引是从0开始的。

  • 索引错误意味着Python在指定索引处找不到元素。程序发生索引错误时,请尝试将指定的索引减1,然后再次运行程序,看看结果是否正确。

  • 别忘了,每当需要访问最后一个列表元素时,都可使用索引-1。这在任何情况下都行之有效,即便你最后一次访问列表后,其长度发生了变化:


  • 注意:发生索引错误却找不到解决办法时,请尝试将列表或其长度打印出来。列表可能与你以为的截然不同,在程序对其进行了动态处理时尤其如此。通过查看列表或其包含的元素数,可帮助你找出这种逻辑错误。

  • 注意:发生索引错误却找不到解决办法时,请尝试将列表或其长度打印出来。列表可能与你以为的截然不同,在程序对其进行了动态处理时尤其如此。通过查看列表或其包含的元素数,可帮助你找出这种逻辑错误。


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

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

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


以上是关于Python - 列表的主要内容,如果未能解决你的问题,请参考以下文章

Python3 列表

Python列表赋值

Python列表操作

Python中的列表

python列表

python列表中如何做到一个列表分割成多个列表