我将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()
我见过有人遇到过这个问题,但情况有所不同。任何人都能帮我搞?吗?
至少有任何建议来检查词典中是否存在值?提前谢谢。
答案 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.