【发布时间】:2021-05-18 19:48:59
【问题描述】:
假设我有一个列表,其中包含一堆 numpy ndarray(甚至是 torch 张量):
a, b, c = np.random.rand(3, 3), np.random.rand(3, 3), np.random.rand(3, 3)
collection = [a, b, c]
现在,如果我要检查数组 b 是否在 collection 中(假设我不知道 collection 中存在哪些数组),然后尝试:b in collection 会出现以下错误:
ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()
同样适用于包含数组的元组。
解决此问题的一种方法是进行列表理解:
True in [(b == x).all() for x in collection]
但是这需要一个for 循环,我想知道是否有更“有效”的方法来完成这个?
【问题讨论】:
标签: python arrays python-3.x list numpy