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的每个项附加到输入列表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()函数来连接列表。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程