从矩阵列表中,创建一个包含每个矩阵的第 i 个和第 j 个元素的数组

问题描述 投票:0回答:1

我有一个矩阵列表,每个矩阵都包含给定时刻屏幕的像素值。 Matrix1包含时刻1的像素值,matrix2包含时刻2的像素值,依此类推。假设我想看看一个单独的像素如何随着时间的推移而演变。 我创建了一些虚拟矩阵来测试它的工作原理并将它们放入

mylist
:

m1=[[1,2],[3,4]]
m2=[[1,2],[3,4]]
m3=[[5,6],[7,8]]

mylist=[m1,m2,m3]

print(mylist)

然后我想选择第二个矩阵的

(0,0)
元素:


print(mylist[1][1][0])

这给了我预期的输出

1
。 然后我想对其进行概括并选择每个矩阵的
(0,0)
元素,这应该给我输出
mynewlist=[1,1,5]
:

mynewlist=[]

for i in 2:
    mynewlist.append(mylist[i][1][0])
    
print("hello hello")
print(mynewlist)

但是,它给了我错误消息:

for i in 2:
TypeError: 'int' object is not iterable 

我做错了什么? 我怎样才能绕过这个问题? 是否有其他(很可能更平滑和更好)的方法来从每个矩阵中选择

(i,j)
元素?

python list matrix
1个回答
0
投票

更好的方法是直接循环 mylist 的元素:

   mynewlist = [] 
   for image in mylist:
       mynewlist.append(image[1][0])

这使您的代码更具可读性。现在,初始列表中有多少图像并不重要。

© www.soinside.com 2019 - 2024. All rights reserved.