作为数据分析和操纵的首选语言,蟒蛇支持几种复合数据类型,其中迭代,更具体地,序列。

列表是一个序列数据类型 - 意味着它始终订购 - 以及最通用的。在本文中,我们将在探索如何在Python中使用它们之前定义列表。

什么是python列表?

我们使用列表来存储一组数据变量。嗯,你可能会想,没有其他数据类型做同样的事情?什么区别来自元组,集和词典的列表?

列表是有序和可变的(或可变的),而其他数据类型没有这种质量组合。元组就像列表中,它们已订购并允许重复,但它们是不可变的。相比,套和词典都是无序和不可变的,用键值对组成的词典,而集合只是一个唯一值的集合。

Python本身认为列表是具有数据类型列表的对象:

在我们潜入如何使用列表之前,让我们仔细看看“订购”和“可变”的意思。Python使用称为索引的东西来订购列表项 - 第一个元素是存储在第0索引处的值,第一个索引处的第二项等。列表的长度始终包含它包含的项目数,因此请记住列表的最后索引是其长度减去一个。要访问项目,您可以使用包含所讨论的元素索引的方括号:

由于列表是可变的,因此我们可以在声明后添加,更改和删除项目。我们将在本文中探索的大部分功能确实在访问列表元素中以便更改它们。

使用名单

列出,如python中的大多数数据类型,都有内置的函数,称为方法可供他们使用。方法允许我们创建列表并对它们执行一系列操作。在本节中,我们将介绍使用列表时可以使用的特殊语法和内置函数。

创建列表

要在Python编程中创建列表,您可以放置​​您想要的所有项目 - 按照您想要的顺序 - 在方形括号[]内部。您可以包括任何数量的项目,它们可以是不同的数据类型(例如,整数,浮点,字符串,另一个列表等),但请务必将这些与逗号分隔:

您还可以选择在创建新列表时使用双圆括号使用列表()构造函数:

如果您想要制作一个新列表,那么每个项目都是从应用于输入列表的项目的函数,您将使用列表理解创建。例如,假设我们希望在[0,1,2,3,4]的列表中加倍每个元素。以下是我们如何通过实例化称为双向括号的阵列来实现,然后使用afor-loop.

以这种方式使我们的列表具有副作用:从而创建一个循环完成后仍然存在的变量x。通常,最好避免具有副作用的功能,除非这些提供预期目的。我们可以使用列表理解,实现我们的目标,没有副作用:

在这里,一旦我们的列表,x不再存在。除了缺乏副作用外,该代码更加透明。我们正在创建一个名为双打的变量,并将其分配一个列表 - 由方括号表示 - 由2乘以2的乘积和最多4个(该范围在0开始时停止)。

建立一个列表

既然我们知道如何创建一个列表,让我们来看看如何将已添加到已声明的列表中。当我们使用for-循环构建双打时,我们看到了如何使用Append()方法将一个项目添加到列表中。扩展()方法类似地执行,但允许多个参数:

我们还可以使用+运算符来组合两个列表。这被称为串联:

如果要在指定的索引中添加项目,则可以使用Python中的INSERT()方法,该方法将索引作为第一个参数和第二个参数:

如果您不需要在已建立的列表中间添加项目并且不想使用Append方法,则可以使用赋值运算符(=):

我们可以使用相同的语法来更改项目;您只需使用您修改列表的预先存在的索引:

如果我们不小心为我们的数组添加了一个项目或不再需要它呢?让我们来看看如何删除项目,甚至清除整个列表。

从列表中删除

如果您知道要删除的哪个元素,则可以将其提供给remove()方法,您可以在给定列表上调用:

您还可以使用del关键字从列表中删除一个或多个项目。您需要提供不需要的项目的索引:

我们的列表仍然不准确,因此您可以使用切片运算符使用del关键字和指定多个索引的元素:符号:

您还可以使用DEL删除整个列表,如下所示:

如果只需删除列表中的最后一个项目,则可以使用POP()方法,该方法也返回其删除的项目。如果您牢记了不同的索引,您仍然可以使用POP()方法,并且您只需将其作为参数提供:

最后,您可以使用CLEAR()方法清空整个列表,如下所示:

请注意,列表仍然存在,但现在是空的。

其他列表功能

我们几乎没有划伤了Python编程可以与列表有关的表面!有许多其他方法可用于列出 - 流行的方法包括LEN()方法,该方法测量列表的长度,以及排序()和排序()方法,在字母上或数字上排列列表中的值。您也可以使用列表进行更多,而不是将方法应用于它们:因为列表是迭代, 您可以循环穿过它们并使用它们进行数据分析目的。

Splat运算符

有时,您希望以某种方式创建自己的函数,而不是使用列表方法。这样做时,您可能会使用一个函数,该函数需要一个未知数量的位置参数,以最适合您的需求。您可以通过传递星号(*)来完成创建此类参数占位符,此外,也称为SPLAT运算符在参数名称之前:

上面的函数占据一系列数字,并使用内置的地图()函数返回每个输入号的广场的列表。让我们使用一些素数提供此功能:

您可以看到添加第四个参数为7不会导致程序出错。这是因为Python知道该函数将采用任意数量的参数。
但是,假设我们有我们的素质在列表中很好地包装。我们希望能够为我们的广场()函数提供一个参数,我们可以使用*数字参数完成。但是,我们希望我们的论点是列表而不是数字。让我们看看在尝试它时会发生什么:

我们在这里得到一个TypeError,因为列表不能乘以 - 只有数字可以!其他函数,例如使用Regure()方法的功能,可能会输出输入列表的副本而不是错误。无论哪种方式,那不是我们想要的结果。我们怎么解决这个问题?

因为广场()函数预期至少一个数字作为参数,我们需要解压缩我们的列表数据,然后将其传递给函数。好消息:我们可以使用Splat运算符,我们用于解压缩任意数量的参数(我们调用*数字)来解压缩列表作为函数参数!

在这种情况下,如果我们将* PRIMES传递给我们的功能而不是PRIMES,则Python程序将在我们的Primes列表中解压缩每个项目。然后,这些数字将存储在名为WHANY的列表中,如Square()定义中的指定。输出看起来像这样:

究竟我们想要什么!

使用其他迭代器时,您还可以使用Splat运算符 - 它以完全相同的方式工作元组, 与词典您只需要使用双号(**)。

学到更多

在本文中,我们讨论了Python列表,向您展示如何创建,构建和清除它们。在转到SPLAT运算符之前,我们简要介绍了一些有用的列表方法。

学习如何使用Python的各种数据类型是每个程序员掌握语言的旅程的一部分。通过服用我们的Python编程简介当然,你会彻底掌握Python基本面,让你更接近你的未来作为一个Python程序员。

开始学习