2015-03-31 60 views
0

如何反轉python中的矩陣列表。如何反轉多行Python列表

EG我:

example= [1,2,3], 
     [4,5,6], 
     [7,8,9] 

我想扭轉每一行得到如下:

example_reversed = [3,2,1], 
        [6,5,4], 
        [9,8,7] 

的感謝!

+0

這是應該發生的地方?他們也是numpy數組還是存儲在什麼地方? – 2015-03-31 20:11:39

回答

4

您可以使用列表中理解和反向索引:

>>> a=[[1,2,3],[4,5,6],[7,8,9]] 
>>> [i[::-1] for i in a] 
[[3, 2, 1], [6, 5, 4], [9, 8, 7]] 
+0

通過使用map,你可以完全消除列表理解。 – 2015-03-31 20:10:04

+0

嘿@Kasra你真的很有幫助。你能否看到你是否可以回答我編輯的問題?謝謝! – Scientized 2015-04-01 05:55:05

+0

@renegade你應用什麼樣的編輯問題? – Kasramvd 2015-04-01 06:51:27

0

地圖的reversed功能,每個項目:

newList = map(list, map(reversed, example)) 
+0

它真的與Python2一起工作嗎?在Python3中,我認爲整個表達式應該被封裝在一個'list(...)'中。 – 2015-03-31 20:09:40

+0

我使用Python 2,所以是的。 Reverse會返回一個迭代器,您可以將其轉換爲列表或保持原樣。自己嘗試一下。 – 2015-03-31 20:11:08

1

你的矩陣目前似乎被存儲在一個元組,是不是它?

無論如何,你可以試試:

list(list(reversed(i)) for i in example) 

但是,如果你需要做很多的計算與矩陣你應該考慮使用NumPy的。

0

這應做到:

[list(reversed(L)) for L in example] 

編輯:唉。太慢了,顯然。