📅  最后修改于: 2023-12-03 15:09:05.603000             🧑  作者: Mango
在 Python 中,二维数组通常是用嵌套的列表来实现的。为了寻址二维数组中的一列,我们需要对列表中的元素进行操作和切片。下面我们介绍三种简单的方法。
这种方法使用列表解析来生成一个新的列表,其中只包含我们想要的一列。
array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 获取第二列
col2 = [row[1] for row in array]
print(col2) # 输出 [2, 5, 8]
我们使用列表解析来生成一个新的列表,col2
,其中只包含二维数组中的第二列。在列表解析中,我们遍历二维数组中的每一行,使用索引(在本例中为 1)获取想要的列,并将其添加到新的列表中。
NumPy 是 Python 的一个科学计算库。使用 NumPy,我们可以创建多维数组,并使用各种函数对其进行操作。
首先,我们需要安装 NumPy,可以使用 pip 来安装。
pip install numpy
安装完成后,我们可以使用 NumPy 来获取二维数组的一列。
import numpy as np
array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
np_array = np.array(array)
# 获取第二列
col2 = np_array[:, 1]
print(col2) # 输出 [2 5 8]
我们首先将二维数组转换为 NumPy 数组,np_array
,然后,我们使用切片 [:, 1]
来获取第二列。
这种方法使用 Python 内置的 zip 函数。
array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 获取第二列
col2 = list(zip(*array))[1]
print(col2) # 输出 (2, 5, 8)
zip 函数用于将多个可迭代对象(如列表、元组等)并排地“缝合”在一起,返回一个包含元组的迭代器。我们使用 * 运算符将二维数组解压,并将其传递给 zip 函数。在 zip 函数返回的元组中,每一项都是一列,我们使用索引,如 [1]
,来获取我们想要的列。
注意:在 Python 3 中,zip 函数返回的是一个迭代器(iterator),而不是列表(list),所以我们需要将其转换为列表才能使用 []
运算符来获取元素。
以上是三种简单的方法。根据你的需求和数据结构,你可能会采取不同的方式来寻址二维数组中的一列。