matrix与array索引表示的含义

本文探讨了矩阵和数组的索引表示法,通过具体示例解析了如何正确使用索引访问矩阵和数组中的元素,区分了不同表示法下索引使用的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天新见到了一种索引表示法:

  • matrix[x,y]=z

由于遍寻度娘而查询未果,我就自己理解了一下,若有朋友能之处错误之处,我将不胜感激。
先举个栗子:

A
matrix([[  0,   2,   6,   4],
        [100,   0,   3, 100],
        [  7, 100,   0,   1],
        [  5, 100,  12,   0]])
B
array([[0., 0., 0., 0.],
       [0., 0., 0., 0.],
       [0., 0., 0., 0.],
       [0., 0., 0., 0.]])

对于矩阵A,若输入

 A[0][1]

则会返回错误信息:

IndexError: index 1 is out of bounds for axis 0 with size 1

这是什么意思呢?我们可以通过下面的命令行理解:

>A[0]
matrix([[0, 2, 6, 4]])
>A[1]
matrix([[100,   0,   3, 100]])

由此可以发现,矩阵A[n]表示A的第n个矩阵,说明A是一个矩阵的集合,上述A中包含了4个矩阵:[0,2,6,4];[100,0,3,100];[7,100,0,1];[5,100,12,0] 。皆为4*1矩阵,所以报错信息的意思为“第0个矩阵只有1列,最大索引为0,1超出索引范围了”
所以正确表示为

> A[0][0]

当然,这和A[0]等价。。
若要表示其中某一元素,应为

>A[2,3]
1

而array索引表示法很简单,对于上述数组B

>B[1,1]=2
>B[1][2]=3
>print(B)

输出为

B
array([[0., 0., 0., 0.],
       [0., 2., 3., 0.],
       [0., 0., 0., 0.],
       [0., 0., 0., 0.]])

即array[n,n]等价于array[n][n],可用修改后的数组B进行验证:

>>>B[1,1]==B[1][1]
>True

总结完毕,期待指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值