关于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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)