测试一个numpy ndarray中是否存在列表?

时间:2018-03-02 11:55:17

标签: python arrays numpy

我想知道numpy ndarray中是否存在列表[a,b]。

我试过了:

list1 = np.array([[1, 2], [1, 3], [2, 4]])

[1, 5] in list1

结果是:

True

似乎只检查第一个数字的存在,导致错误的响应。

检查列表是否存在的好方法是什么?

2 个答案:

答案 0 :(得分:3)

这是一种方式:

import numpy as np

arr = np.array([[1, 2], [1, 3], [2, 4]])

lst = np.array([1, 5])
any((lst==i).all() for i in arr)  # False

lst = np.array([1, 2])
any((lst==i).all() for i in arr)  # True

答案 1 :(得分:0)

一种简单的方法是使用tolist()

>>> list1 = np.array([[1, 2], [1, 3], [2, 4]])
>>> [1, 2] in list1.tolist()
True
>>> [1, 5] in list1.tolist()
False