python中如何表示多维数组(即矩阵形式)

python中如何表示多维数组

在java或者c以及其他语言中,表示个“整型3行4列”的矩阵,可以这样声明:int a[3][4];

但是在python中一不能声明变量int,二不能列出维数。我们只能利用列表中夹带列表形式表示。

以实际例子为例,想将文件中如下格式的数据读取出来,,文件中的每行数据是一个样本,列数是每个样本的属性个数。我们希望将其读取出来组合成N*2的矩阵形式,以便于对这些数据进行处理。

实现的代码如下:

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()

上面的基本思路是:

(1):最终我们想要的矩阵dataSet是一个列表tuple.

(2):矩阵中的每一个元素temp也是一个列表

(3):首先,我们先构造每一个元素temp列表。

(4):然后,将每个元素temp列表添加(append)进dataSet中去即可

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-11 10:24:22

python中如何表示多维数组(即矩阵形式)的相关文章

你可以在 Python 中轻易创建一个后缀数组

我想告诉你一个关于后缀数组的故事.在一段时间里,我正在西雅图的一家公司面试,当时好奇的是如何最有效地创建一个用于可执行二进制文件的diff.我的研究给我带来了后缀数组和后缀树.后缀数组只是,将字符串的所有后缀排序,储存到有序列表中.后缀树是类似的,但是比列表更像BSTree.这些算法相当简单,一旦你进行了排序操作,它们就具有很快的性能.他们解决的问题是,找到两个字符串之间最长的公共子串(或者在这种情况下是字节列表). 你可以在 Python 中轻易创建一个后缀数组: >>> magic

php中count获取多维数组长度的方法

本文实例讲述了php中count获取多维数组长度的实现方法.分享给大家供大家参考.具体分析如下: 先来看看下面程序运行结果: $numb=array(             array(10,15,30),array(10,15,30),array(10,15,30) ); echo count($numb,1); A.3B.12C.6D.9答案是Bcount函数中如果mode被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数(也就是你结果的12).如

php中向前台js中传送一个二维数组

在php中向前台js中传送一个二维数组,并在前台js接收获取其中值的全过程方法: (1),方法说明:现在后台将数组发送到前台 echo json_encode($result); 然后再在js页面中的ajax一部传送的返货函数中接收,最重要的是接受的时候设置一下接收参数的类型: $.post(              "http:"+$('#url').val()+"/search",              {drug_name:drug_name},    

C++中动态申请二维数组

这里主要介绍C++中动态申请二维数组的两种方式,直接给出代码,很容易明白,简单的作为一个笔记. #include <iostream> #include <iomanip> // 输入输出操纵 #include <vector> using namespace std; // 法一:new 方式申请 void dynamicArray() { int rows, cols; cin >> rows >> cols; int **element =

C代码和python代码:用二维数组实现矩阵的转置

目录 一.总结 二.C代码 三.Python代码 一.总结 输入用了 int(input()) ,但发现这种方法好像有点不方便 每次输入一个数字都要按回车,按空格不能识别 下次找找看看有没有其他输入方法 Python中没有数组,但列表类似数组 通过叠加[ ],就可以通过列表创建二维数组 Python中创建二维数组的方法(以本案例为例): matrixA=[[0 for i in range(4)] for i in range(3)] matrixA=[ [ 0, 0, 0, 0], [ 0,

C++中动态申请二维数组并释放方法

C/C++中动态开辟一维.二维数组是非常常用的,以前没记住,做题时怎么也想不起来,现在好好整理一下. C++中有三种方法来动态申请多维数组 (1)C中的malloc/free (2)C++中的new/delete (3)STL容器中的vector 下面逐一介绍: 第一种:malloc/free 1.动态开辟一维数组 [cpp] view plaincopy //动态开辟一维数组 void dynamicCreate1Array() { int m; int i; int *p; printf("

Java中如何获取多维数组的长度

在程序处理中遍历数组是一种很常见的操作,但遍历数组时,我们需要知道数组各维度的长度(一维数组除外,for each 可以遍历),下面举例说明如何求多维数组的长度. 一维 : int [] array ={1 2 3 4 5} ; size = array.length() ; 二维数组: Java实际上没有多维数组,只有一维数组.多维数组可以理解为"数组的数组" :举例二维数组其实是一个一维数组,数组中每个元素是一个一维数组.从而得到行列的长度为 . int  [ ] [ ] arra

以杨辉三角为例,从内存角度简单分析C语言中的动态二维数组

学C语言,一定绕不过指针这一大难关,而指针最让人头疼的就是各种指向关系,一阶的指针还比较容易掌握,但一旦阶数一高,就很容易理不清楚其中的指向关系,现在我将通过杨辉三角为例,我会用四种方法从内存的角度简单分析动态二维数组,若有不足或错误之处,还请指出! 在讲这之前,以一维数组为例,先重新认识一下数组: int array[5] = {1, 2, 3, 4, 5}; 首先数组名称是该数组的首地址常量,即数组名称就是指针,就有&array[0] == array! 那么我们可以推出*array ==

OpenCV中Mat与二维数组之间的转换

---恢复内容开始--- 在OpenCV中将Mat(二维)与二维数组相对应,即将Mat中的每个像素值赋给一个二维数组. 全部代码如下: #include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> //包含imread, imshow等标识符 #include "opencv2/imgproc/imgproc.hpp" //包含c