列表操作技巧

假设需要记录10年级所有学生的分数,并且按照学号顺序排列。一种方法是为每个学生使用一个变量来存储他们的分数,如下所示。但这种方法并不高效,因为随着学生数量的增加,需要的变量数量会急剧增加,导致内存开销增大。此外,无法通过变量来分析数据,例如回答“最后五名学生的平均分数是多少?”这类问题,因为变量本身不支持序列操作。因此,需要一种支持序列的数据结构来帮助处理数据,这就是列表的作用。

列表是什么?

列表是一种有序的数据结构,其中的元素由逗号分隔,并被包含在方括号内。例如,下面的list1和list2分别包含了整数和字符串类型的数据。列表也可以存储混合数据类型,如list3所示。

子集提取

要访问列表中的元素,首先需要了解元素是如何存储的。以下面的列表为例,其元素使用从0开始的索引进行存储。如果想提取单个元素,比如索引1处的元素,可以使用方括号和索引号。例如,list3[1]将返回索引1处的“Python”。如果要提取一个序列,可以使用以下格式,方括号内给出一个由冒号分隔的范围。例如,list3[1:4]将从索引1开始,直到索引4之前结束,即不包括4。同样,list3[2:5]将返回list3中索引2到4的元素列表。

负索引是另一个有趣的概念。如果想访问列表中的最后一个元素,可以使用list3[-1]。这将返回列表中的最后一个元素,在这个例子中是“Awesome”。

向现有列表添加元素

现在来探讨如何向现有列表添加元素。可以使用append函数来添加单个元素,如下所示。在这个例子中,使用append在列表末尾添加了元素4。

list3.append(4)

也可以向列表添加多个元素,这时使用extend函数。extend函数接受多个元素,与append不同,append只接受单个元素。看下面的示例:

list3.extend([5, 6])

在这个例子中,函数将从输入列表中提取每个元素,并将其添加到主列表list3中。

还可以将一个列表添加到现有的列表中。这可以通过之前讨论的append函数来实现。唯一的区别是将传递一个列表作为输入,而不是一个数字。它将整个输入列表作为元素添加。

list3.append([7, 8])

在这个例子中,输入列表[7, 8]被添加到list3的第6个索引处,也可以通过索引值来访问。

删除元素

让看看如何从给定的列表中移除元素。假设想根据其值移除一个元素,这时可以使用remove函数,并提供想要移除的元素作为输入。例如,如果想移除2,如下所示,可以使用代码list3.remove(2)。当打印列表时,将不再包含2。

list3.remove(2)

第二种方法是使用索引值来移除元素。在这种情况下,将使用del关键字。假设想移除索引3处的元素,将使用:

del list3[3] for element in list3: print(element)
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485