持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第24天,点击查看活动详情
python 列表
像大多数语言一样,Python有存储对象组的方法,这是幸运的,因为只有一个外星人,一颗子弹或一种武器的游戏会非常沉闷!存储其他对象的 Python 对象称为集合,其中最简单和最常用的集合之一是列表。让我们从创建一个空列表开始:
my_list=[]
方括号创建一个空列表,然后将其分配给变量my_list。要向列表中添加内容,您可以使用 append 方法,该方法将您提供的任何 Python 对象固定到末尾。让我们假设我们的清单将保留我们本周的购物,并添加一些项目:
在这里,我们添加了两个字符串来my_list,但我们可以很容易地添加Python的任何其他对象,包括其他列表。如果您现在在Python提示符下键入my_list,它将为您显示其内容:
这里,我们可以看到这两个字符串现在存储在列表中。我们不能只靠筷子和酱油生活,所以让我们在购物清单上再添加一些商品:
修改列表项
Python列表是可变的,这意味着您可以在创建它们后更改它们。因此,除了使用索引运算符检索列表的内容外,还可以通过向其分配新项目来更改任何索引中的项目。假设我们特别想得到深色酱油;我们可以通过使用赋值运算符 (=) 为第二项赋值来更改第二项:
删除列表项
除了更改列表中的项目外,还可以从列表中删除项目。假设我们想要删除苹果派,因为它似乎不适合我们的购物清单的其余部分。我们可以使用 del 运算符执行此操作,它将从我们的列表中删除任何项目 - 在这种情况下,它是最后一个项目,因此我们将使用负索引:
列表支持许多运算符,这些运算符的工作方式与字符串类似。让我们看一下切片和索引,您应该会发现它们非常熟悉:
第一行返回偏移量为 2 的字符串,这是我们购物清单中的第三个插槽。就像字符串一样,列表中的第一项始终为 0。第二行使用负索引,就像字符串 [-1] 一样返回最后一项。
切片列表的工作方式与切片字符串类似,不同之处在于它们返回的是新列表而不是字符串。让我们将购物清单分成两部分:
在第一个切片中,我们要求Python向我们提供从列表开头到偏移2的所有项目;在第二个切片中,我们要求从偏移量 2 到列表末尾的所有内容。列表偏移量的工作方式与字符串偏移量一样,因此请尝试将它们视为列表中对象之间的空格,而不是对象本身。因此,偏移量 0 位于第一项之前,偏移量 1 位于第一项之后且位于第二项之前。
还可以将列表与 + 运算符一起添加。将列表一起添加时,它将创建一个包含两个列表中的项目的列表。让我们创建一个新列表并将其添加到我们的购物清单中:
第一行创建一个名为 my_list2 的新字符串列表。我们创建的第二个列表与第一个列表略有不同;我们没有创建一个空白列表并一次添加一个项目,而是创建了一个包含两个项目的列表。第二行使用 += 运算符,这是有用的速记:my_list+=my_list2与my_list=my_list+my_list2,具有将两个列表相加并将结果存储回my_list的效果。
列表专属方法
除了这些运算符之外,列表还支持多种方法。让我们使用 sort 方法按字母顺序对购物清单进行排序:
排序方法对列表的内容进行排序。顺序取决于列表的内容,但对于字符串列表,排序按字母顺序排列。
您会注意到Python在调用排序后不会打印任何内容;这是因为排序不返回排序列表,而只是对调用它的列表进行排序。第二行是必要的,要求Python显示我们列表的内容。
假设我们要去购物,我们想从清单上拿走一件商品然后去
在超市里找它。我们可以使用pop方法执行此操作,该方法从列表中删除一个项目并返回它:
我们已要求my_list在偏移量 0 处“弹出”项目,即筷子。如果我们现在显示购物清单的内容,我们应该看到第一个项目确实被删除了:
列表方法比我们在这里介绍的要多;有关详细信息,请参阅表 1-1。表 1-1.蟒蛇列表方法