Skip to main content
 首页 » 编程设计

python之如何比较python中的数组列表

2025年05月04日39exmyth

我想比较两个变量 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 抱歉我的英语不好