Python的append()函数指南

786 阅读5分钟

简介

Python中的基本数据类型允许我们在一个符号名称下存储一个单一的值。这大致上遵循了变量的数学符号。在某种程度上,一个名字被分配给一个值,所以你不需要记住实际的值,也不需要记住它在计算机内存中的地址,只需要记住一个简单的、说明性的名字。

但是,如果你需要在一个变量名下存储一系列的值,基本的数据类型就不能完成这个工作。你需要使用更复杂的数据结构。Python 有四种数据类型用于在同一名称下存储一组值--Tuple,Set,Dictionary, 和List。在这篇文章中我们将重点讨论后者。

List是一种 Python 数据类型,类似于其他编程语言中的数组。它在同一名称下存储一个有序的值集合。同时,它允许重复的值,以及改变存储元素的List和任何普通数组的唯一区别是,List的所有元素不需要有相同的数据类型(它是异质的)。例如,一个List可以包含整数元素、浮点数、字符串,以及其它List 和任何其它数据类型的元素。

example_list = [1, 3.14, 'abcd', [4, 3, 2, 1]]

**注意:**你通过在两个方括号之间列出其元素来创建一个PythonList-[...] 。每个元素都用逗号隔开 -, 。Python 有一个array 类型,与 Lists 分开,不应该与 Lists 相混淆。

在本指南中,我们将看看如何在Python中把元素添加到List的末尾,如何使用append() 方法合并列表等,并将其与其他用于向List添加元素的方法--extend()insert() 进行比较。

如何使用*append()*将元素添加到Python列表中

元素添加到List中相当于将这些元素添加到现有List 的末尾。Python 提供了几种方法来实现这一点,但专门为这项任务定制的方法是append() 。它有一个非常直接的语法。

example_list.append(element)

这个代码片断将把element 添加到example_list 的末尾 (它的类型是list )。正如我们之前所说,一个列表可以包含不同数据类型的元素。因此,element 可以是任何可能的数据类型 -int,float,str,list,tuple, 等等。

在下面的章节中,我们将讨论一些实际的例子,说明如何将一个单独的元素追加到一个列表中,以及如何将一个列表追加到另一个列表。

**注意:**在下面的例子中,我们使用一个包含不同类型元素的列表

如何在 Python 列表的末尾添加一个单一元素

添加单个元素说明了 Python 中append() 方法的主要目的。让我们假设你有一个列表的例子。

example_list = [1, 3.14, 'abcd']

你将以如下方式在exampe_list 的末尾添加5

example_lsit.append(5)

现在,example_list 将有5 加在它的末尾。

[1, 3.14, 'abcd', 5]

如何在 Python 中把一个列表追加到另一个列表上

假设你有两个列表,想把其中一个追加到另一个。

example_list = [1, 3.14, 'abcd']
secondary_list = [4, 3, 2, 1]

append() 方法没有提供一种方法来在一次方法调用中把两个列表追加到一起。如果你试图用append() 来追加这两个列表,整个secondary_list 将被添加为example_list 的一个元素,形成一个嵌套列表

example_list.append(secondary_list)
print(example_list)

现在,example_list 包含以下元素,这可能不是你最初想要的。

[1, 3.14, 'abcd', [4, 3, 2, 1]]

使用append() 将一个列表追加到另一个列表中,是通过遍历我们想要追加的列表中的所有元素并将它们逐一追加到原始列表中来实现的。

for element in secondary_list:
    example_list.append(element)

print(example_list)

这样,我们就把secondary_list 附加到了example_list 的末尾。

[1, 3.14, 'abcd', 4, 3, 2, 1]

Python 中*append()*的替代方法

除了append() ,PythonList还有一些添加元素的方法。最明显的是extend()insert() 。在下面的小节中,我们将讨论它们和append() 方法之间的区别。

append()vsextend()

正如我们在前面的章节中所看到的,append() 是为了在一个List的末尾添加一个元素。另一方面,extend() 是用来将多个元素添加到List的末尾的--有效地,它将一个列表追加到另一个。让我们看看extend() 是如何工作的。

example_list = [1, 3.14, 'abcd']
secondary_list = [4, 3, 2, 1]

example_list.extend(secondary_list)
print(example_list)

输出。

[1, 3.14, 'abcd', 4, 3, 2, 1]

注意extend() 是如何在一次调用中追加两个列表的,而append() 需要为你想追加的列表中的每个元素调用一次!这是一个很方便的方法,可以作为一种替代方法来记住。

append()vsinsert()

使用append() ,没有办法将一个元素插入到List的特定位置,它会自动将其添加到List的结尾。这就是insert() 出现的地方!

append()extend() 不同,它接受两个参数 - 一个是你想插入的元素,另一个是该元素在List 中的索引

例如,如果你想把'asdf' 添加到example_list 的末尾,你可以使用example_lsit.append('asdf') ,正如我们在前几节所看到的。但如果你想把它加到一个特定的地方,比如说,在3.14'abcd' 之间,你必须使用insert()

example_list = [1, 3.14, 'abcd']
# Insert element `asdf` on the index `2`
example_list.insert(2, 'asdf')

print(example_list)

这就导致了。

[1, 3.14, 'asdf','abcd']

注意原始列表和结果列表在索引上的不同。在原始的example_list 中,索引2 的元素是'abcd' 。在加入'asdf' 之后,它的索引是2 ,而'abcd' 则被移到了3 的索引上。

结论

阅读完本指南后,你应该对如何在 PythonLists上使用append() 方法有了更好的理解,以及它与其他向List 添加元素的 Python 方法的比较。