前言
本章节主要学习python中的列表,学习如何使用列表的相关功能,并学习遍历列表等列表等基本操作。
1、列表
- 在了解列表是什么之前,需要先了解序列的概念,序列是Python中最基本的数据结构。在Python中内置了6种数据结构:

- 序列中每个值都有对应的位置值,这个位置值称为索引。
- 列表是最常见的序列类型之一,它是一个有序的集合,可以存放任何类型的元素,并通过索引访问元素。列表是实时动态的序列,可以在运行是添加、删除元素。
2、列表简介
2.1 创建、访问、使用列表
- Python中使用方括号 [ ] 表示列表,并使用逗号来分隔其中的元素。如图创建了名为car的列表。
- 因为列表是有序元素,因此在访问列表元素时,只要列表的名称+元素的索引,如使用car[0]访问car列表中的第一个元素。特别注意:列表中的索引是从0开始的。
我们也使用同样的方式来使用列表中的每一个值,如:print(car[2].title)。

2.2 修改列表和添加元素
- 列表是动态的,可以在程序运行时进行增减元素等操作。修改列表中的元素与访问列表中的元素相似,先指定列表名和要修改的元素的索引,再重新赋予该元素新值。
- 添加元素的方式有多种,如下图所示展示了通过append()在列表后添加元素与通过insert()在列表中任意位置添加元素。

2.3 删除列表元素
在使用列表的过程中,经常需要从列表中删除一个或多个元素,如下图所示分别展示了通过del删除元素、通过pop()删除元素、根据值删除元素等删除元素的方法。


2.4 列表排序
列表中元素的排序常具有重要的意义,列表作为动态的序列,在程序运行时允许对列表中的元素顺序进行调整。下图展示通过使用sort()函数、sorted()函数对列表进行永久性排序、临时性排序、按字母排序等。


2.4 列表倒序、查看列表长度
- 可以使用reverse()将整个列表的元素进行反转
- 在需要确定列表长度时,可以使用len()查看

3、列表操作
在计算机世界中,遍历循环操作十分常见。并且,遍历与循环都是计算机的拿手好戏——与人类相比,计算机更适合进行具有重复性的工作。列表用来存储元素,当我们需要对元素进行一个或者一系列相同的操作时,使用遍历与循环可以极大地提升工作效率。
3.1 遍历列表
在使用列表的过程中,经常需要遍历列表中的所有元素,对每个元素进行相同操作。比如在游戏中,你发动的群体攻击会给所有对手扣除血量,即对[对手血量]列表中的所有元素执行相同的操作。
使用for循环可以对列表中的每个元素都执行相同的操作。如图我们先定义一个cars列表,在这里面存储我们拥有的汽车。定义一个for循环,可以让python在列表中列表cars中提取一个元素并存储在变量car中,再让python打印出car中的值。对于列表中的每一个元素,都在for循环中进行相同的操作,也就是对于cars中每一台车,都将其打印出来。

- 值得注意的是,使用for循环时,对于用于存储列表中每个值的临时变量,可以指定任何名称,然而一般使用的名称与列表中的元素是有关联的。常见的使用单复数的命名方式,如car和cars,可以帮助判断是单个列表元素还是整个列表。
- 在使用for循环时,注意避免缩进错误和不要遗漏冒号
3.2 创建数字列表
在许多使用场景下都需要存储一组数字,而列表非常适合用于存储数字集合,Python也提供了许多的工具帮助我们高效地处理数字列表。
我们可以使用range()函数来生成系列文字。注意此处的结果是差一行为的结果,range()是从指定的第一个值(这里为1)开始数,并在到达指定的第二个值(这里为5)后停止,因此输出的结果并不包含第二个值(这里为5)。

使用list()函数可以将range()的结果转换成为列表。

可以指定range的步长,如从3开始数,然后不断地加4,直到达到或超过20

可以使用min() max() sum()等函数来处理数字列表

3.3 使用列表的一部分——切片
在使用列表的过程中,有时我们只需要使用列表中的一部分元素,在Python中将列表的部分元素称为切片。
我们可以通过各种方式来从列表中获取我们想要的切片,也可以同样对切片进行遍历操作,切片还可以帮我们复制列表。

特别注意在复制列表时,使用切片复制的重要性。若只是将my_foods赋值给friend_foods,并不能得到两个列表。


3.4 元组
列表时可以在程序运行期间进行修改的,然而有时候需要创建一系列不能被修改的元素,Python将不能修改的值称为不可变的,而不可变的列表被称为元组。
元组看起来形式像列表,但使用圆括号而不是方括号来标识。定义元组后,可以使用索引来访问元组中的元素,就像访问列表中的元素一样。

然而元组的元素不可修改,如我们修改student元组中的一个元素,Python会返回错误类型。

虽然元组中的元素不能修改,但是可以给存储元组的变量赋值,因此,如果要修改student的年龄,可以重新定义整个元组。

:列表&spm=1001.2101.3001.5002&articleId=140334648&d=1&t=3&u=b1df24d7900341ec8dac55afcf360be0)
1378

被折叠的 条评论
为什么被折叠?



