如何在 Python 中将数组转换为列表?

2024 年 8 月 29 日 | 阅读 2 分钟

您可以使用 Python 的 tolist() 函数 将数组转换为列表。这是一个例子

输出

[1, 2, 3, 4, 5]

在此示例中,我们使用 array.array() 构造函数 创建一个类型为 “i”(表示整数)的数组 arr。然后,我们使用 tolist() 方法 将数组 arr 转换为列表 lst。最后,我们使用 type() 函数 验证生成的 lst 确实是一个列表,并使用 print() 函数 显示列表的内容。

一种方法是使用列表推导式。列表推导式是通过对现有列表的每个元素应用一个函数来创建新列表的简洁方法。这是一个使用列表推导式将数组转换为列表的示例

输出

[1, 2, 3, 4, 5]

在此示例中,我们使用 for() 循环 迭代数组 arr,并通过列表推导式将数组的每个元素 x 添加到新列表 lst 中。最后,我们使用 type() 函数 验证生成的 lst 确实是一个 列表,并使用 print() 函数 显示列表的内容。

数组的元素不会被复制或重复。相反,列表将引用与初始数组相同的条目。这意味着修改列表也会修改初始数组。这是一个演示此点的示例

输出

array('i', [10, 2, 3, 4, 5])

在此示例中,我们使用 tolist() 方法 将数组 arr 转换为列表 lst。之后,我们将列表 lst 的第一个元素修改为 10。当您运行代码时,您可以看到原始数组 arr 也已被修改,因为数组的第一个元素现在也是 10

如果您想创建一个与数组元素完全相同的新列表,您需要使用 copy 模块中的 copy() 方法。这是一个示例

输出

array('i', [1, 2, 3, 4, 5])

在此示例中,我们使用 copy.copy() 方法 创建数组 arr浅拷贝,并将其分配给列表 lst。现在,当列表 lst 的第一个元素被修改为 10 时,原始数组 arr 不受影响。