numpy.ndarray作为字典值

时间:2014-05-04 01:49:33

标签: python dictionary multidimensional-array

我将numpy.ndarray存储为字典的值。我的字典看起来像:

{0: array([[ 1,  0, -1],
   [ 0, -1,  0],
   [ 1,  0,  0]])}

但是当我试图使用以下命令

找出字典中是否存在数组时
S = np.zeros((3,3), dtype=int)
if S in myDict.values():
   print "something"

我收到以下错误:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

我见过有人遇到过这个问题,但情况有所不同。任何人都能帮我搞?吗?

至少有任何建议来检查词典中是否存在值?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您应该使用np.array_equal

S = np.zeros((3,3), dtype=int)
if any(np.array_equal(S, i) for i in myDict.values()):
   print "Yes!"
else:
   print "Sorry. No."

[OUTPUT]
Sorry. No.