关于python中的二维数组,主要有list和numpy.array两种。好吧,其实还有matrices,但它必须是2维的,而numpy arrays (ndarrays) 可以是多维的。
两者可以相互转化。下边是两者区别

数组list

>>import numpy as np
>>a=[[1,2,3],[4,5,6],[7,8,9]]
>>a
#这个是list的形式
[[1,2,3],[4,5,6],[7,8,9]]
>>type(a)
<type 'list'>
>>a[1][1]
5
>>a[1]
[4,5,6]
>>a[1][:]
[4,5,6]

这里需要注意的不能具体到个位的索引

>>a[1,1]"""相当于a[1,1]被认为是a[(1,1)],不支持元组索引"""
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
TypeError: list indices must be integers, not tuple
>>a[:,1]
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
TypeError: list indices must be integers, not tuple

numpy.array

array=([[1,2,3],
    [4,5,6],
    [7,8,9]])
>>b[1][1]
5
>>b[1]
array([4,5,6])
>>b[1][:]
array([4,5,6])
>>b[1,1]
5
>>b[:,1]
array([2,5,8])

list转化为array

#将list转化为numpy.array
>>b=np.array(a)"""List to array conversion"""
>>type(b)
<type 'numpy.array'>
>>b

怎么定义二维数组?两种方法:直接定义和间接定义

直接定义

matrix = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
matrix[2][2] = 9
print(matrix)

间接定义

matrix = [[0 for i in range(3)] for i in range(3)]
matrix[2][2] = 9
print(matrix)

添加二维数组

添加
matrix = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
i=2
j=2
matrix[i][j] = 9
matrix.append([1,1,1])
print(matrix)

具体怎么添加的如下

matrix = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
i=2
j=2
matrix[i][j] = 9
matrix.append([i,i,i])
print(matrix)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐