我想比较两个变量 input_items 和 temp 是否相等。让您了解它们的数据类型 -
print input_items
打印-
[array([ 50., 1., 0., ..., 0., 0., 0.], dtype=float32), array([ 50., -2., 0. , ..., 0., 0., 0.], dtype=float32)]
在 Python 中执行此操作的最佳方法是什么?
请您参考如下方法:
我想 allclose适合您的情况,因为您需要比较 float
import numpy as np
a = np.arange(10)
print a
#array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
b = np.arange(10)
print b
#array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
print np.allclose(a, b)
#True
b[1] = 10
#array([ 0, 10, 2, 3, 4, 5, 6, 7, 8, 9])
print np.allclose(a, b)
#False
要比较数组列表,您可以将 np.allclose 与 all 结合使用
a = [np.array([1, 2, 3]), np.array([1, 2, 3])]
b = [np.array([1, 2, 3]), np.array([1, 2, 3])]
all([np.allclose(x, y) for x, y in zip(a, b)])#True
b = [np.array([1, 2, 3]), np.array([1, 2, 4])]
all([np.allclose(x, y) for x, y in zip(a, b)])#False
PS 抱歉我的英语不好
