如何创建一个求反矩阵?(Python)

如何创建一个求反矩阵?(Python),python,list,matrix,negate,Python,List,Matrix,Negate,假设我有一个矩阵[[-2,4],-6,8] 我想知道如何得到这些数字的反方向:[[2,-4],[6,-8]] Python中有我应该使用的特殊函数吗?使用列表理解是一种方法: >>> data = [[-2,4],[-6,8]] >>> [[-ele for ele in item] for item in data] [[2, -4], [6, -8]] 使用列表理解是一种方法: >>> data = [[-2,4],[-6,8]] &g

假设我有一个矩阵
[[-2,4],-6,8]

我想知道如何得到这些数字的反方向:
[[2,-4],[6,-8]]


Python中有我应该使用的特殊函数吗?

使用列表理解是一种方法:

>>> data = [[-2,4],[-6,8]]
>>> [[-ele for ele in item] for item in data]
[[2, -4], [6, -8]]

使用列表理解是一种方法:

>>> data = [[-2,4],[-6,8]]
>>> [[-ele for ele in item] for item in data]
[[2, -4], [6, -8]]
numpy真是太棒了:p

a = numpy.array( [[-2,4],[-6,8]])
a *= -1
print a
numpy真是太棒了:p

a = numpy.array( [[-2,4],[-6,8]])
a *= -1
print a
给出输出:

[[ 2 -4]
 [ 6 -8]]
给出输出:

[[ 2 -4]
 [ 6 -8]]

如果您不想导入软件包,并且列表理解也有问题,但您喜欢不必要的复杂东西,您可以使用,
lambda
如下所示:

data = [[-2,4],[-6,8]]
reversed_data = map(lambda sublist: map(lambda x: -x, sublist), data)
# [[2, -4], [6, -8]]

编辑:这个示例在Python2.7中工作。在Python3中,+
map()
返回一个迭代器,因此需要执行
list(map())
以获得此结果。(归功于SethMMorton)

如果您不想导入软件包,并且您在列表理解方面也有问题,但您喜欢不必要的复杂东西,您可以使用,
lambda
如下:

data = [[-2,4],[-6,8]]
reversed_data = map(lambda sublist: map(lambda x: -x, sublist), data)
# [[2, -4], [6, -8]]

编辑:这个示例在Python2.7中工作。在Python3中,+
map()
返回一个迭代器,因此需要执行
list(map())
以获得此结果。(归功于SethMMorton)

如果你在用Python做线性代数,请使用numpy。如果你在用Python做线性代数,请使用numpy。为什么不干脆
a=-a
?有没有办法不用numpy来做?我宁愿不使用软件包。@shaktimaan的回答包括不使用numpy就可以使用。。。但是真正的numpy是一个惊人的软件包,你只需要做:
a=-numpy.array([[-2,4],-6,8]])
为什么不简单地
a=-a
?有没有办法不用numpy来做呢?我宁愿不使用软件包。@shaktimaan的回答包括不使用numpy就可以使用。。。但是真正的numpy是一个惊人的包,你可以做:
a=-numpy.array([[-2,4],-6,8]])
注意,在python3
map
中,map返回一个map对象,所以你必须执行
list(map())
才能得到这个结果。注意,在python3
map
中,map返回一个map对象,所以你必须执行
list(map())
在这种情况下获得此结果。