2015-03-31 61 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] 

编辑:唉。太慢了,显然。