Python 连接列表

2025年7月13日 | 阅读 5 分钟

在 Python 中,将多个列表合并成一个列表是一项常见的操作。Python 提供了多种方法来实现此任务。在本教程中,我们将介绍如何在 Python 中将多个列表合并成一个列表。

Python Join List

在 Python 中将多个列表合并成一个列表

以下是在 Python 中连接多个列表的不同方法:

  • 使用 '+' 运算符
  • 使用 '*' 运算符
  • 使用 append()
  • 使用 extend()
  • 使用 itertools.chain()

在 Python 中使用 '+' 运算符连接列表

在 Python 中,'+' 运算符用于将两个或多个不同的列表连接起来,创建一个新列表。以下是一个使用 '+' 运算符连接多个列表的示例:

示例

立即执行

输出

Given Lists:
Cars: ['MarutiSuzuki', 'Tata', 'Hyundai']
Ranks: [1, 2, 3]

Joined List: ['MarutiSuzuki', 'Tata', 'Hyundai', 1, 2, 3]

说明

在上面的示例中,我们使用 '+' 运算符将两个不同的列表 car 和 rank 合并,创建了一个名为 car_rank 的新列表。

在 Python 中使用 '*' 运算符连接列表

Python 中的解包运算符 '*' 会提取每个列表的所有元素,并将它们放入一个新的列表中。

让我们看一个使用 '*' 运算符连接列表的示例:

示例

立即执行

输出

Given Lists:
Cars: ['MarutiSuzuki', 'Tata', 'Hyundai']
Ranks: [1, 2, 3]

Joined List: ['MarutiSuzuki', 'Tata', 'Hyundai', 1, 2, 3]

说明

在上面的示例中,我们使用 '*' 运算符连接了两个不同的列表 car 和 rank。我们需要在列表名称前加上 '*'。

在 Python 中使用 append() 方法连接列表

我们可以将 for 循环与 列表 append() 方法 结合使用,将一个列表的元素添加到另一个列表的末尾。

让我们看一个使用 append() 方法连接列表的示例:

示例

立即执行

输出

Given Lists:
Cars: ['MarutiSuzuki', 'Tata', 'Hyundai']
Ranks: [1, 2, 3]

Joined List: ['MarutiSuzuki', 'Tata', 'Hyundai', 1, 2, 3]

说明

此代码创建了两个列表:一个包含汽车名称,另一个包含排名数字。它使用 for 循环通过 append() 方法将每个排名数字添加到 car 列表的末尾。最后,它打印更新后的列表,该列表同时包含汽车名称和数字。

在 Python 中使用 extend() 方法连接列表

Python 中的列表 extend() 方法用于将一个列表的元素连接到另一个列表的末尾。它是连接不同列表的最简单方法之一。

以下显示了 Python extend() 方法的工作原理:

示例

立即执行

输出

['MarutiSuzuki', 'Tata', 'Hyundai', 1, 2, 3]

说明

在上面的 extend() 方法示例中,名为 rank 的 list2 被追加到名为 car 的 list1 的末尾。这是在不创建新列表的情况下完成的。

在 Python 中使用 itertools.chain() 函数连接列表

itertools.chain() 函数是一种强大且内存高效的方法,可以将多个可迭代对象合并成一个单一序列。它返回一个迭代器,按顺序生成每个输入可迭代对象的元素。

示例

立即执行

输出

Given Lists:
Cars: ['MarutiSuzuki', 'Tata', 'Hyundai']
Ranks: [1, 2, 3]

Joined List: ['MarutiSuzuki', 'Tata', 'Hyundai', 1, 2, 3]

说明

在上面的示例中,使用 itertools.chain() 方法

  • 我们创建了一个新的变量 car_rank,它存储了 itertools.chain(car, rank) 返回的迭代器。
  • 然后,通过将此迭代器转换为列表来创建一个新变量 joined_list,该列表包含 car 和 rank 中的所有元素。

Python 连接列表方法的区别

以下是 Python 中用于连接列表的不同方法的对比:

'+' 运算符'*' 运算符append()extend()Itertools.chain()
它简单地连接两个列表。它从一个列表中提取所有元素并放入另一个列表中。它使用 for 循环将一个列表的元素添加到另一个列表的末尾。它将一个列表的元素与另一个列表的元素合并。它迭代给定列表中的每个单个元素。它是内存高效的合并。
创建一个新列表。创建一个新列表。它不创建新列表。它不创建新列表。它在转换后创建新列表。例如:result_list = list(iterator)。

结论

正如我们所学到的,Python 提供了多种连接两个或多个列表的方法。其中一些方法会创建一个新列表,而另一些方法则将元素追加到现有列表中。Python 中连接列表的方法有:'+' 运算符、'*' 运算符、append()、extend() 和 itertools.chain()。

Python 连接列表常见问题解答

1. 如何在 Python 中连接两个列表?

您可以使用多种方法在 Python 中连接列表,例如:'+' 运算符、'*' 运算符、append()、extend() 和 itertools.chain()。

2. 一次最多可以连接多少个列表?

您可以连接的列表数量没有限制,但对于大型数据集,建议使用 itertools.chain()。

3. 哪些方法返回新列表,哪些方法修改原始列表?

运算符 (+ 和 *) 和 itertools.chain() 这样的方法会返回一个新列表,而 append() 和 extend() 会修改原始列表。

4. 可以连接不同数据类型的列表吗?

是的,列表可以包含多种数据类型,因此您可以连接具有不同数据类型的列表。

5. itertools.chain() 比其他方法更好吗?

是的,itertools.chain() 比其他方法更好,因为它更快、更有效。