大多数pythonic方法来检查一维列表是否是二维列表的元素?

时间:2014-11-12 17:03:30

标签: python python-2.7

使用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'帮助?

更新

我失败了。上面代码中的colornumpy.ndarray

1 个答案:

答案 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