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