0
我在處理列表列表時發現了三個有用的操作。矩陣術語
mat=[list('abc'),list('pqr'),list('xyz')]
mat=[x for sl in mat for x in sl]
1.( 「平坦」)
mat=list(zip(*mat))
(調換)mat=mat[::-1]
( 「翻轉」;第一變後者且反之亦然)
什麼是特定術語進行這些操作,以及我忽略哪些關鍵操作?
我在處理列表列表時發現了三個有用的操作。矩陣術語
mat=[list('abc'),list('pqr'),list('xyz')]
mat=[x for sl in mat for x in sl]
1.( 「平坦」)
mat=list(zip(*mat))
(調換)
mat=mat[::-1]
( 「翻轉」;第一變後者且反之亦然)
什麼是特定術語進行這些操作,以及我忽略哪些關鍵操作?
ravel()
。 Matlab將其稱爲「向量化」並使用(搜索A(:)
)。fliplr
(左 - 右)和flipud
(上 - 下)。有很多其他的矩陣操作,一些更常見,一些更少。看看Numpy/Matlab/Julia /等。文檔會打動你的腦海。
我想你可以稱之爲列表轉換。另一個有用的轉換是旋轉:從列表的一端移動項目並將它們添加到另一端;在Python中常用的方法是通過切片。 –
順便說一句,你可以使用'map'來完成你的初始構造,儘管只有3個字符串沒有太大的區別。 'mat = list(map(list,('abc','pqr','xyz')))'。此外,'list(zip(* [iter('abdpqrxyz')] * 3))'或'list(map(list,zip(* [iter('abdpqrxyz')] * 3)))'如果inner序列必須是列表而不是元組。 –