2
我试图通过解构它来理解列表理解。 假设我有一个矩阵定义为列表的列表。 (是的,我知道numpy的,这是不是一个简单有效的方式这样做。这是一个大概的了解。) 和标量嵌套列表解析如何在python中工作?
A = [[1, 2, 3],
[2, 3, 6],
[3, 4, 12]]
s = 7
当我发现其他地方,我可以定义一个列表理解来执行标量乘。
def ScalarMult(A,s):
return [[s*i for i in row] for row in A]
As = ScalarMult(A,s)
print('As = ', As)
并将其返回
正如= [[7,14,14],[14,21,42],[21,28,84]]
嵌套列表,其是我想要的,但这是如何工作的?
如果我写
def ScalarMult(A,s):
As = []
for row in A:
for i in row:
As.append(s*i)
return As
此返回
正如= [7,14,14,14,21,42,21,28,84]
扁平列表,其中不是我想要的。 我怎么能写
[S *我为我行]在连续]
嵌套的循环和有它返回一个嵌套列表,看看清楚它相对于做这个3X3矩阵?当然,我想定义一个函数,如ScalarMult,它适用于任何大小的矩阵。
NPE是的工作表示感谢。我不明白如何在列表中定义列表。 – 2014-09-26 15:34:00