我试图在一个嵌套的for循环中比较二维数组的值,在这种情况下,我似乎无法获得正确的关系操作。
所以我循环遍历二维数组,并将它的值与另一个一维数组中的值进行比较,这一天真的很有趣。
import numpy as np
packetsDb = np.empty((0,4))
head = [['AAA', 'BBB', 'CCC', 'DDD']]
packet1 = [[255, 256, 257, 258]]
packet2 = [[255, 256, 257, 259]]
test = [255, 256, 257, 259]
packetsDb = np.append(packetsDb, np.array(head), axis=0)
packetsDb = np.append(packetsDb, np.array(packet1), axis=0)
packetsDb = np.append(packetsDb, np.array(packet2), axis=0)
for x in packetsDb:
for y in x:
print(test[0], y, test[0] == y)
个字符
1条答案
按热度按时间euoag5mw1#
结果一开始确实是违反直觉的,但一旦你打印出类型,它就变得更清晰了:
字符串
test[0]和y在打印时看起来相同,但实际上它们是不同的类型,因此比较结果为False。
当你将字符串列表附加到numpy-array中时,numpy确实将整个数组转换为str类型,包括能够表示新数据的整数。