我有一个矩阵列表,每个矩阵都包含给定时刻屏幕的像素值。 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)
元素?
更好的方法是直接循环 mylist 的元素:
mynewlist = []
for image in mylist:
mynewlist.append(image[1][0])
这使您的代码更具可读性。现在,初始列表中有多少图像并不重要。