对于一些背景故事,我正在编写一个涉及到各种颜色的正方形网格的程序,我决定将颜色存储在NumPy数组中(我基本上没有NumPy经验)。我将数组格式化为二维数组,其中的每个位置都与网格空间的位置相关。我需要检查当前的颜色所以我做了如果它只是一个列表(对于context数组是数组的名称)我会做的事情:
color = 0, 0, 0
array = numpy.array([(color,color,color,color),
(color,color,color,color),
(color,color,color,color)])
if array[0,0] == color:
#other code that doesn't matter
if语句是错误发生的地方,当这个错误出现在只有and/or的if语句中时,我找不到任何关于该怎么办的信息。如果有人对这个问题有什么见解,我将不胜感激。
解释在这里提供:https://stackoverflow.com/a/65082868/7225290
如果您将特定索引的值与具有相同数据类型的值进行比较,则不会抛出错误。
当你尝试
array = numpy.array([(0,0,0,0),
(0,0,0,0),
(0,0,0,0)])
if array:#Comparing object of type numpy.ndarray with boolean causes the error
pass