如何在NumPy中调用列表内矩阵的指定索引元素?
如何在NumPy中调用列表内矩阵的索引?
嘿,这个问题其实很好解决,咱们结合你的具体需求一步步来掰明白:
首先得记住两个核心点:Python列表是从0开始索引的,NumPy的数组(也就是你说的矩阵)同样也是0起始索引——这和咱们日常从1开始数的习惯不一样,得稍微转换一下。
第一步:找到列表里的第3个矩阵
你通过循环给Mlist里塞了10个一模一样的A矩阵,要取第3个(咱们平时说的第3个),对应的列表索引得是2(因为第一个是0,第二个是1,第三个就是2啦)。所以先把这个矩阵捞出来:
third_A = Mlist[2]
第二步:定位到矩阵里的目标值10
看你的A矩阵,数值10在第3行第2列(按咱们日常1开始的数法),转换成0起始索引的话,行就是2,列就是1。这时候直接用NumPy的索引语法就行:
target_num = third_A[2, 1] # 当然也可以用链式索引:target_num = third_A[2][1],效果是一样的
完整的可运行代码
把两步合起来,一行代码就能搞定,给你整个完整示例:
import numpy as np Mlist = [] z = 10 while z > 0: A = np.array([ [1,2,3,4], [5,6,7,28], [9,10,11,12], [13,14,15,16] ]) z -= 1 Mlist.append(A) # 直接取出目标值 result = Mlist[2][2, 1] print(result) # 运行后会输出10,完美符合你的需求
小提醒
要是你总记混0起始和1起始的区别,就记住要取第N个元素,索引就写N-1,不管是列表还是NumPy矩阵都适用。另外NumPy的[行索引, 列索引]写法比链式的[行][列]更贴合矩阵的逻辑,用起来也更顺手~
内容的提问来源于stack exchange,提问作者Royston Teo
相关产品推荐
相关产品推荐

