使用Python 2.7.6,我有一个rgb颜色列表,每个颜色都是一个列表,即:。
color_list = [ [0, 0, 0], [255, 0, 0]....[255, 255, 255] ]
致电:
color = [0, 0, 0]
if color in color_list:
# do stuff
引起:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我担心做错误所暗示的,即。 color.any()
或color.all()
确实会在我的颜色列表中的任何位置查找这些整数。我可以想出实现我的实际目标的方法,但我的直觉是Python已经很好地看到了这种需求,并且有一种Pythonic方法来实现它。 Lil'帮助?
我失败了。上面代码中的color
是numpy.ndarray
答案 0 :(得分:3)
您看到的错误消息来自numpy
。
这意味着color
是一个numpy数组,或color_list
是,或color_list
是numpy数组的列表。如果所有都是列表,那么你的代码就可以了。
color_list = [ [0, 0, 0], [255, 0, 0], [255, 255, 255] ]
color = [0, 0, 0]
color in color_list
=> True