Python中的列表如何使用拼接运算符工作?
在Python中,列表是一个有序的序列,可以容纳多种对象类型,如整数,字符或浮点数。在其他编程语言中,列表相当于数组。
列表的拼接是一种将一个列表的元素添加到另一个列表末尾的操作。我们在这里讨论列表数据结构,因此我们将一个列表的元素连接到另一个列表的末尾。
在本文中,我们将展示如何在python中连接列表。以下是完成此任务的不同方法 –
- 使用拼接(+)运算符
-
使用For循环(原始方法)
-
使用列表推导式
-
使用扩展()方法
-
使用解包*运算符
-
使用itertools.chain()方法
假设我们已经拿到了一个包含一些元素的列表。我们将使用上述指定的方法返回给定2个输入列表的连接列表。
更多Python相关文章,请阅读:Python 教程
方法1:使用拼接(+)运算符
拼接运算符(+)是Python中连接列表的最常见方法。如下面的示例所示,“+”运算符可以轻松地将整个列表连接到另一个列表的后面并返回新列表作为结果输出。
示例
以下程序使用(+)运算符返回给定两个输入列表的连接列表 –
#输入列表_1
inputList_1 = [5, 1, 8, 7]
#输入列表_2
inputList_2 = [10, 11, 12]
#使用 + 运算符连接两个列表
ConcatenatedList = inputList_1 + inputList_2
#打印连接后的列表
print ("Concatenated list: ", ConcatenatedList)
输出
执行上述程序将生成以下输出 –
Concatenated list: [5, 1, 8, 7, 10, 11, 12]
方法2:使用For循环(原始方法)
算法(步骤)
执行所需任务的算法/步骤如下 –
- 创建一个变量来存储第一个输入列表。
-
创建另一个变量来存储第二个输入列表。
-
使用for循环遍历输入列表_2的每个项目。
-
使用append()函数(将元素添加到列表末尾)将输入列表_2的每个项目附加到inputList_1。
-
打印结果连接列表
示例
以下程序使用Naive方法返回给定两个输入列表的连接列表 –
# 输入列表 1
inputList_1 = [5, 1, 8, 7]
# 输入列表 2
inputList_2 = [10, 11, 12]
# 遍历输入列表 2
for item in inputList_2 :
# 将输入列表 2 中每个项目追加到输入列表 1 中
inputList_1.append(item)
# 打印合并后的列表
print ("合并后的列表: ", inputList_1)
输出
执行上述程序将会产生以下输出 –
合并后的列表: [5, 1, 8, 7, 10, 11, 12]
方法 3:使用列表推导式
根据现有列表生成列表项的技术称为列表推导式。在 Python 中,使用列表推导式的方法可以简单地连接两个列表。如下面的例子所示,可以使用 for 循环遍历列表元素,然后连接它。
例子
以下程序使用列表推导式返回给定的两个输入列表的连接列表 –
# 输入列表 1
inputList_1 = [5, 1, 8, 7]
# 输入列表 2
inputList_2 = [10, 11, 12]
# 使用列表推导式连接两个列表
concatenatedList = [y for x in [inputList_1, inputList_2] for y in x]
# 打印合并后的列表
print ("合并后的列表: ", concatenatedList)
输出
执行上述程序将会产生以下输出 –
合并后的列表: [5, 1, 8, 7, 10, 11, 12]
方法 4:使用 extend() 方法
要在Python中连接两个列表,我们可以使用 extend() 函数。 extend() 函数遍历给定值,然后将其添加到列表中,从而线性扩展列表。
语法
list.extend(iterable)
例子
以下程序使用 extend() 函数返回给定的两个输入列表的连接列表 –
# 输入列表 1
inputList_1 =[5, 1, 8, 7]
# 输入列表 2
inputList_2 = [10, 11, 12]
# 使用 extend() 函数连接两个列表
inputList_1.extend(inputList_2)
# 打印合并后的列表
print ("合并后的列表: ", inputList_1)
输出
合并后的列表: [5, 1, 8, 7, 10, 11, 12]
方法 5:使用解包 * 运算符
Python 中的 ‘*’ 运算符可以用于轻松地连接两个列表。
在Python中,“*”运算符仅仅是在索引参数处展开元素的集合。
考虑以下列表:lst = [5, 6, 7, 8]
语句*my list将会用其元素替换索引处的列表。因此,它会展开元素列表。
例子
以下程序使用解包(*)运算符返回给定两个输入列表的连接列表 –
# 输入列表1
inputList_1 = [5, 1, 8, 7]
# 输入列表2
inputList_2 = [10, 11, 12]
# 使用*运算符将inputList_2与inputList_1连接起来
concatenatedList = [*inputList_1, *inputList_2]
# 打印结果连接列表
print ("连接后的列表: ", concatenatedList)
输出
连接后的列表: [5, 1, 8, 7, 10, 11, 12]
在前面的代码中,行concatenated lists = [*inputList_1, *inputList_2]替换了指定顺序中的项,即在输入列表2元素之后的输入列表1条目中执行拼接。
方法6: 使用itertools.chain()方法
itertools.chain()函数返回在一个参数中连接其参数的可迭代对象,并且因此不需要存储连接列表,如果仅需要初始迭代,则非常有用。当只需要一次的连接列表时非常方便。
例子
以下程序使用itertools.chain()函数返回给定两个输入列表的连接列表−-
import itertools
# 输入列表1
inputList_1 = [5, 1, 8, 7]
# 输入列表2
inputList_2 = [10, 11, 12]
# 使用itertools.chain()函数连接inputList_1和inputList_2
concatenatedList = list(itertools.chain(inputList_1, inputList_2))
# 打印结果连接列表
print ("连接后的列表: ", concatenatedList)
输出
连接后的列表: [5, 1, 8, 7, 10, 11, 12]
结论
本文介绍了如何使用六种不同的方法/方式连接两个列表。我们还学习了如何使用列表理解同时遍历两个列表。我们学习了如何使用itertools的chain()函数拼接列表。
极客教程