如何创建否定矩阵? (蟒蛇)

时间:2014-04-04 19:14:16

标签: python list matrix negate

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

我想知道如何与这些数字相反:[[2,-4],[6,-8]]

我应该使用Python中的特殊功能吗?

4 个答案:

答案 0 :(得分:3)

numpy很棒:P

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

import numpy

matrix = numpy.array([[-2,4],[-6,8]])
negatedMatrix = matrix * -1

print negatedMatrix

给出输出:

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

答案 3 :(得分:0)

如果你不想导入包,而且你也遇到列表推导问题,但是你喜欢不必要的复杂事情,你可以使用map()lambda这样:

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

编辑:这个例子在python 2.7中工作。在python 3+中map()返回一个迭代器,因此你需要list(map())来获得这个结果。 (归功于SethMMorton)