我想知道numpy ndarray中是否存在列表[a,b]。
我试过这个:
list1 = np.array([[1, 2], [1, 3], [2, 4]])
[1, 5] in list1
结果是:
True
似乎只检查第一个数字的存在,导致错误的响应。
检查列表是否存在的好方法是什么?
一个简单的方法是使用tolist()
。
>>> list1 = np.array([[1, 2], [1, 3], [2, 4]])
>>> [1, 2] in list1.tolist()
True
>>> [1, 5] in list1.tolist()
False
这是一种方式:
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