关于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)
>>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 "", line 1, in
TypeError: list indices must be integers, not tuple
>>a[:,1]
Traceback (most recent call last):
File "", line 1, in
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)
>>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)