Python 中列表的连接运算符如何工作?


在 Python 中,列表是有序序列,可以容纳多种对象类型,例如整数、字符或浮点数。在其他编程语言中,列表等同于数组。

列表的连接是一种操作,它将一个列表的元素添加到另一个列表的末尾。我们在这里讨论列表数据结构,因此我们将一个列表的元素连接到另一个列表的末尾。

在本文中,我们将向您展示如何在 Python 中连接列表。以下是在 Python 中连接列表的不同方法:

  • 使用连接运算符(+)

  • 使用 For 循环(朴素方法)

  • 使用列表推导式

  • 使用 extend() 方法

  • 使用解包 * 运算符

  • 使用 itertools.chain() 方法

假设我们已经取了一个包含一些元素的列表。我们将使用上述指定的方法返回给定两个输入列表的连接列表。

方法 1:使用连接运算符(+)

连接运算符(+)是 Python 中连接列表最常见的方法。如下面的示例所示,“+”运算符可以轻松地将整个列表连接到另一个列表后面,并将新列表作为结果输出返回。

示例

以下程序使用(+)运算符返回给定两个输入列表的连接列表:

# input list_1 inputList_1 = [5, 1, 8, 7] # input list_2 inputList_2 = [10, 11, 12] # Concatenating both the lists using the + operator ConcatenatedList = inputList_1 + inputList_2 # Printing the result concatenated list print ("Concatenated list: ", ConcatenatedList)

输出

执行上述程序将生成以下输出:

Concatenated list: [5, 1, 8, 7, 10, 11, 12]

方法 2:使用 For 循环(朴素方法)

算法(步骤)

以下是执行所需任务的算法/步骤:

  • 创建一个变量来存储第一个输入列表。

  • 创建另一个变量来存储第二个输入列表。

  • 使用 for 循环遍历输入列表_2 的每个项目。

  • 使用append()函数(将元素添加到列表的末尾),将输入列表_2 的每个项目附加到 inputList_1。

  • 打印结果连接列表

示例

以下程序使用朴素方法返回给定两个输入列表的连接列表:

# input list_1 inputList_1 = [5, 1, 8, 7] # input list_2 inputList_2 = [10, 11, 12] # Traversing in the input list_2 for item in inputList_2 : # appending each item of input list_2 to the inputList_1 inputList_1.append(item) # Printing the result concatenated list print ("Concatenated list: ", inputList_1)

输出

执行上述程序将生成以下输出:

Concatenated list: [5, 1, 8, 7, 10, 11, 12]

方法 3:使用列表推导式

基于现有列表生成列表项的技术称为列表推导式。使用列表推导式方法,您可以简单地连接 Python 中的两个列表。如下面的示例所示,您可以使用 for 循环遍历列表元素,然后将其连接起来。

示例

以下程序使用列表推导式返回给定两个输入列表的连接列表:

# input list_1 inputList_1 = [5, 1, 8, 7] # input list_1 inputList_2 = [10, 11, 12] # Concatenating both lists using list comprehension concatenatedList = [y for x in [inputList_1, inputList_2] for y in x] # Printing the result concatenated list print ("Concatenated list: ", concatenatedList)

输出

执行上述程序将生成以下输出:

Concatenated list: [5, 1, 8, 7, 10, 11, 12]

方法 4:使用 extend() 方法

为了在 Python 中连接两个列表,我们可以使用 extend() 函数。extend() 函数迭代给定的参数并将项目添加到列表中,从而线性扩展列表。

语法

list.extend(iterable)

示例

以下程序使用 extend() 方法返回给定两个输入列表的连接列表:

# input list_1 inputList_1 = [5, 1, 8, 7] # input list_1 inputList_2 = [10, 11, 12] # Concatenating both the lists using extend() function inputList_1.extend(inputList_2) # Printing the result concatenated list print ("Concatenated list: ", inputList_1)

输出

Concatenated list: [5, 1, 8, 7, 10, 11, 12]

方法 5:使用解包 * 运算符

Python 中的 '*' 运算符可用于轻松连接两个列表。

在 Python 中,'*' 运算符只是在索引参数处解包元素的集合。

考虑以下列表:lst = [5, 6, 7, 8]

语句 *my list 将用其元素替换索引位置处的列表。因此,它会解包项目列表。

示例

以下程序使用解包(*) 运算符返回给定两个输入列表的连接列表:

# input list_1 inputList_1 = [5, 1, 8, 7] # input list_1 inputList_2 = [10, 11, 12] # Concatenating inputList_2 with the inputList_1 using * operator concatenatedList = [*inputList_1, *inputList_2] # Printing the result concatenated list print ("Concatenated list: ", concatenatedList)

输出

Concatenated list: [5, 1, 8, 7, 10, 11, 12]

前面代码中的代码行 concatenated list = [*inputList_1, *inputList_2] 按指定的顺序替换项目,即 input list1 的条目在 input list2 的元素之后。它执行连接操作

方法 6:使用 itertools.chain() 方法

itertools.chain() 函数在将参数链接到一个之后返回可迭代对象,因此如果只需要初始迭代,则不需要存储连接列表。当仅需要连接列表一次时,这非常方便。

示例

以下程序使用 itertools.chain() 函数返回给定两个输入列表的连接列表:

import itertools # input list_1 inputList_1 = [5, 1, 8, 7] # input list_1 inputList_2 = [10, 11, 12] # Concatenating inputList_2 with the inputList_1 # using itertools.chain() function concatenatedList = list(itertools.chain(inputList_1, inputList_2)) # Printing the result concatenated list print ("Concatenated list: ", concatenatedList)

输出

Concatenated list: [5, 1, 8, 7, 10, 11, 12]

结论

在本文中,我们学习了如何使用六种不同的方法/方式连接两个列表。我们还学习了如何使用列表推导式同时遍历两个列表。我们学习了如何使用 itertools 的 chain() 函数连接列表

更新于:2022年9月22日

603 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.