Tôi có 13 python NumPy mảng:Kiểm tra nếu một mảng là yếu tố của một danh sách các mảng
obj_1=np.array([784,785,786,787,788,789,790,791,792])
obj_2=np.array([716,717,718,730,731,732,721,722,724,726,727])
obj_3=np.array([658,659,660,661,662,663,664,665])
obj_4=np.array([581,582,583,589,590,591,595,597,598,599,601,605,606,613,614])
obj_5=np.array([533,534,535,536,537])
obj_6=np.array([464,469,472,474])
obj_7=np.array([406,409,411,412])
obj_8=np.array([345,346,347,349])
obj_9=np.array([277,278,281,282,283,284,288,296])
obj_10=np.array([217,219,220,223,224])
obj_11=np.array([154,155,156,157,158,159,160,161])
obj_12=np.array([91,92,93,94,95,96,97])
obj_13=np.array([28,29,30,31,32,33,34])
Sau đó, vòng lặp sau:
for i in [obj_1, obj_2, obj_3, obj_4, obj_5, obj_6, obj_7, obj_8, obj_9, obj_10, obj_11, obj_12, obj_13]:
print i in [obj_1, obj_2, obj_3, obj_4, obj_5, obj_6, obj_7, obj_8, obj_9]
Tôi mong chờ kết quả này:
True
True
True
True
True
True
True
True
True
False
False
False
False
Thay vào đó tôi nhận được thông báo lỗi sau:
True
True
True
True
True
True
Traceback (most recent call last):
File "<ipython-input-221-c03c1ef308c6>", line 16, in <module>
print i in [obj_1, obj_2, obj_3, obj_4, obj_5, obj_6, obj_7, obj_8, obj_9]
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Tôi đã thử nghiệm các mảng khác nhau có cùng tên và giống nhau cho vòng lặp; họ không tạo ra lỗi.
Có vẻ như vấn đề nằm trong nội dung của mảng, nhưng tôi không thể tìm ra vị trí.
Có ai có ý tưởng tại sao điều này xảy ra không?
Ý anh là một tập hợp con? Bạn có biết 'obj_1' đến' obj_9' luôn nằm trong danh sách mảng không? 10,11,12,13 là những người duy nhất bạn không có trong nó –
Bạn có thể cần '.tolist()' nhưng tôi thực sự không nhìn thấy những gì bạn đang cố gắng để làm –
Tôi không thể thấy làm thế nào lỗi này có thể đến từ mã này - bạn dường như không kiểm tra giá trị chân lý của bất kỳ mảng nào. – rlms