[英]How do I create a negated matrix? (Python)
假設我有一個矩陣[[-2,4],[-6,8]]
。
我想知道如何得到這些數字的反面: [[2,-4],[6,-8]]
。
我應該使用Python中的特殊功能嗎?
numpy很棒:P
a = numpy.array( [[-2,4],[-6,8]])
a *= -1
print a
使用列表理解是一種解決方法:
>>> data = [[-2,4],[-6,8]]
>>> [[-ele for ele in item] for item in data]
[[2, -4], [6, -8]]
import numpy
matrix = numpy.array([[-2,4],[-6,8]])
negatedMatrix = matrix * -1
print negatedMatrix
提供輸出:
[[ 2 -4]
[ 6 -8]]
如果您不想導入軟件包,並且列表理解也有問題,但是您喜歡不必要的復雜事物,可以使用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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.