假设我有一个列表,其中包含许多
numpy
ndarrays(甚至是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
循环,我想知道是否有更加“高效”的方法来完成这个任务?