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() 函数连接列表
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP