栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【Python笔记】矩阵,数列,数组(array)与元组(tuple)的用法详解

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Python笔记】矩阵,数列,数组(array)与元组(tuple)的用法详解

Python里矩阵、数组和元组的格式与用法非常容易让初学者混淆,翻阅了很多网页也没有找到很清晰的整理,在这篇文章中进行简要讲解。

1. 首先在python里定义一个矩阵,此处介绍两种建议的定义矩阵方法:

首先import numpy

from numpy import random
import numpy as np

①利用random函数

A = random.random((3,3))
print(A)

系统会随机生成一个3×3的矩阵,每一个元素均为(0,1)随机数。

②利用numpy中empty函数

Y = np.empty((2,2), dtype = int)
print(Y)

 empty函数用法参考此处。

对于矩阵来说,可以通过A(x,y)的方式来查找特定元素。

 对于已经形成的矩阵,其为一个数组。其元素可以通过来修改。

A(x,y) = new_element

2. 接下来介绍tuple(元组)

元组与列表功能相近,但区别在于tuple无法修改。之前看到一个评论,讲的是列表相当于数组,而元组相当于结构。

首先创建一个3×3的随机矩阵用于接下来的讲解,这里利用了random.seed(1)来保证每一次创建的随机矩阵是相同的。

random.seed(1)
A = random.random((3, 3))
print("original:")
print(A)

创建的矩阵如下:

下面将矩阵转变为tuple,B为tuple处理后的A:

B = tuple(A)
print("nafter tuple")
print(B)

它是由3个行向量组成的array进一步组成的元组。元组中的元素是无法修改的,如果对B进行如下操作,会得到error:

B[1] = array([1,1,1])

但由于该元组内均为数组构成,所以可以对其中的某一个元素进行修改,可得到结果:

B[1][1] = 1.5
print("after changing element")
print(B)

3. 接下来介绍array(数组)

 接着刚才的矩阵A进行探讨,若对矩阵A进行array操作

C=array(A)
print("nafter array")
print(C)

得到的C与A完全相同,这也对应了文章之前所介绍的矩阵是作为数组格式存放在寄存器中。

下面重新定义list D

D = [[1,0,0],[1,1,0],[1,1,1]]
print("original:")
print(D)

这里简单引入数列(list)的介绍,D是由三个数列组成的数列,对于list格式的数据,可以采取以下方法来进行元素的调取:

D[1]或D[0:2],但无法用矩阵的方法去进行特定元素的调取。若输入D[1,1],则python会报错

系统清晰提示了:对于list格式的索引, 必须为整数或切片,不能是[x,y]类的组。

进一步对数列D进行操作,B是经过tuple操作后的结果

B = tuple(D)
print("nafter tuple")
print(B)

 从数列转变为了元组,元组内有三个list。

进一步对数列D进行操作,C是经过array操作后的结果

C = array(D)
print("nafter array")
print(C)

 

 数列格式被转换成了矩阵格式,可以采用矩阵的操作(例如:C[1,1])来索引具体元素。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/321437.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号