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的每个项附加到输入列表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]
在上述代码中,行连接列表 = [*inputList_1,*inputList_2]用指定的顺序替换项目,即在输入列表2的元素后使用输入列表1的条目。它执行拼接操作。
方法 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()函数来连接列表。
极客笔记