python中表示多维数组的方法:可以利用列表中夹带列表的形式来表示。具体方法:首先构造每一个元素列表;然后将每个元素列表添加进矩阵中即可。矩阵是一个列表,矩阵中的每一个元素也是一个列表。
在python中一不能声明变量int,二不能列出维数。我们只能利用列表中夹带列表形式表示。
以实际例子为例,想将文件中如下格式的数据读取出来,文件中的每行数据是一个样本,列数是每个样本的属性个数。我们希望将其读取出来组合成N*2的矩阵形式,以便于对这些数据进行处理。
基本思路:
最终我们想要的矩阵dataSet是一个列表tuple。矩阵中的每一个元素temp也是一个列表。
首先,我们先构造每一个元素temp列表;然后将每个元素temp列表添加(append)进dataSet中去即可。
代码实现:dataSet = [] #列表,用来表示,列表中的每个元素也是一个二维的列表;#这个二维列表就是一个样本。
#与我们所熟悉的矩阵类似,最终我们将获得N*2的矩阵,每行元素的数据构成了我们的样本数据
fileIn = open("D:/xuepython/testSet.txt") #是正斜杠
for line in fileIn.readlines():
temp=[]
lineArr = line.strip().split('\t')#line.strip()把末尾的'\n'去掉
temp.append(float(lineArr[0]))
temp.append(float(lineArr[1]))
dataSet.append(temp)
#dataSet.append([float(lineArr[0]), float(lineArr[1])]) #这条语句可以替换到上面的三条语句
fileIn.close()