簡體   English   中英

如何創建一個否定矩陣? (蟒蛇)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM