假设我有一个矩阵[[-2,4],[-6,8]]
。
我想知道如何与这些数字相反:[[2,-4],[6,-8]]
。
我应该使用Python中的特殊功能吗?
答案 0 :(得分:3)
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)