我有一段简单的代码没有按预期运行。
from numpy import *
from numpy.linalg import *
from sets import Set
W = matrix('1, 1, 1, 1; 1, 1, -1, -1; 1, -1, 2, -2; 1, -1, -2, 2')
E = matrix('1, 1, 1, 1; 1, 1, -1, -1; 1, -1, 2, -2; 1, -1, -2, 2')
matrices = Set([])
matrices.add(W)
matrices.add(E)
matrices
矩阵是相同的,但是当我打印集合的内容时它们都单独出现。但是,如果我像下面这样分配它,则不会出现重复项。
W = matrix('1, 1, 1, 1; 1, 1, -1, -1; 1, -1, 2, -2; 1, -1, -2, 2')
E = W
知道发生了什么吗?我需要一种避免在我正在编写的程序中出现重复矩阵的方法,该程序会生成大量矩阵。
编辑:我想要以下输出
set([matrix([[ 1, 1, 1, 1],
[ 1, 1, -1, -1],
[ 1, -1, 2, -2],
[ 1, -1, -2, 2]])])
而是得到以下内容:
set([matrix([[ 1, 1, 1, 1],
[ 1, 1, -1, -1],
[ 1, -1, 2, -2],
[ 1, -1, -2, 2]]), matrix([[ 1, 1, 1, 1],
[ 1, 1, -1, -1],
[ 1, -1, 2, -2],
[ 1, -1, -2, 2]])])