访问作为矩阵中元素的数组的元素
Acessing element of an array which is a element in a matrix
目前我正在进行一个项目,我必须将 Matlab 代码转换为 Python 代码。
现在我被困在一个小问题上,这可能是一个大问题。
例如,我有一个矩阵,我想给位置 [0][i] 赋值,比如 1,i 是 0 到 5。
矩阵是 4x4(对于 [0][5] 来说很小)但是在位置 [0][0] 上是一个包含 3 个元素的数组。
所以它看起来像 code
M = [[array, 1 , 2, 3],
[数组, 1, 2, 3],
[array, 1 , 2, 3]]code
和 array 只是 code
array =[1,2,3]。 code
I hope I descripted it clear. Feel free to ask more :D
现在我遇到的问题是,我希望数组的第一个元素是 [0][0],这样第一行中的数字 3 就是 [0][5]。是否可以将数组的第一个元素声明为矩阵位置[0][0]?
我很感激每一个解决方案或想法。谢谢:)
使用可迭代的 解包运算符 (*) 来解压你的可迭代对象可能是更好的解决方案
Python 中的解包指的是在单个赋值语句中将可迭代值分配给变量元组(或列表)的操作。
示例:
array =[1,2,3]
M = [[*array, 1 , 2, 3], [*array, 1 , 2, 3], [*array, 1 , 2, 3]]
print (M) # [[1, 2, 3, 1, 2, 3], [1, 2, 3, 1, 2, 3], [1, 2, 3, 1, 2, 3]]
print (M[0][5]) # 3
或在列表的开头添加值,有多种解决方案,这里是示例之一:
array =[1,2,3]
M = [[array, 1 , 2, 3], [array, 1 , 2, 3], [array, 1 , 2, 3]]
M = [[0,0]+l for l in M]
print (M) # [[0, 0, [1, 2, 3], 1, 2, 3], [0, 0, [1, 2, 3], 1, 2, 3], [0, 0, [1, 2, 3], 1, 2, 3]]
print (M[0][5]) # 3
您也可以使用 Python insert() 函数:
insert() 方法将一个元素插入列表的指定索引处。
Syntax: list.insert(idx, elem)
for l in M:
l.insert(0,0)
l.insert(1,0)
print (M) # [[0, 0, [1, 2, 3], 1, 2, 3], [0, 0, [1, 2, 3], 1, 2, 3], [0, 0, [1, 2, 3], 1, 2, 3]]
print (M[0][5]) # 3
目前我正在进行一个项目,我必须将 Matlab 代码转换为 Python 代码。 现在我被困在一个小问题上,这可能是一个大问题。
例如,我有一个矩阵,我想给位置 [0][i] 赋值,比如 1,i 是 0 到 5。 矩阵是 4x4(对于 [0][5] 来说很小)但是在位置 [0][0] 上是一个包含 3 个元素的数组。
所以它看起来像 code
M = [[array, 1 , 2, 3],
[数组, 1, 2, 3],
[array, 1 , 2, 3]]code
和 array 只是 code
array =[1,2,3]。 code
I hope I descripted it clear. Feel free to ask more :D
现在我遇到的问题是,我希望数组的第一个元素是 [0][0],这样第一行中的数字 3 就是 [0][5]。是否可以将数组的第一个元素声明为矩阵位置[0][0]? 我很感激每一个解决方案或想法。谢谢:)
使用可迭代的 解包运算符 (*) 来解压你的可迭代对象可能是更好的解决方案
Python 中的解包指的是在单个赋值语句中将可迭代值分配给变量元组(或列表)的操作。
示例:
array =[1,2,3]
M = [[*array, 1 , 2, 3], [*array, 1 , 2, 3], [*array, 1 , 2, 3]]
print (M) # [[1, 2, 3, 1, 2, 3], [1, 2, 3, 1, 2, 3], [1, 2, 3, 1, 2, 3]]
print (M[0][5]) # 3
或在列表的开头添加值,有多种解决方案,这里是示例之一:
array =[1,2,3]
M = [[array, 1 , 2, 3], [array, 1 , 2, 3], [array, 1 , 2, 3]]
M = [[0,0]+l for l in M]
print (M) # [[0, 0, [1, 2, 3], 1, 2, 3], [0, 0, [1, 2, 3], 1, 2, 3], [0, 0, [1, 2, 3], 1, 2, 3]]
print (M[0][5]) # 3
您也可以使用 Python insert() 函数:
insert() 方法将一个元素插入列表的指定索引处。
Syntax: list.insert(idx, elem)
for l in M:
l.insert(0,0)
l.insert(1,0)
print (M) # [[0, 0, [1, 2, 3], 1, 2, 3], [0, 0, [1, 2, 3], 1, 2, 3], [0, 0, [1, 2, 3], 1, 2, 3]]
print (M[0][5]) # 3