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

问题描述 投票:1回答:2

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

我试过这个:

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

[1, 5] in list1

结果是:

True

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

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

python arrays numpy
2个回答
0
投票

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

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

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
© www.soinside.com 2019 - 2024. All rights reserved.