我正在嘗試減去兩個零排列的numpy陣列a和b。 我希望a-b在尺寸不一樣時返回一個錯誤。例如,如果形狀(a)= [300,]和形狀(b)= [450,]; a-b返回一個形狀數組[300,450]。我會反而喜歡該程序返回一個錯誤。python扣除零排序陣列
回答
你可以試試這個方法:
def mySubtract(a, b):
if a is None or b is None or a.shape != b.shape:
sys.stderr.write("a and b don't have the same shape!\n")
raise ValueError("a and b don't have same shape!")
return a-b
我不知道你所說的「返回錯誤」的意思,但如果你寧願只返回一個無效的結果而不是引發ValueError異常,你可以改爲return None
或return "a and b don't have the same shape!"
。
請記住,例程的調用者需要知道如何處理這些特殊錯誤返回碼。所以一般來說,例外可能是一種更清潔的方法
+1,用於在返回碼上推薦異常 – PaulMcG
不需要'None'檢查。如果你嘗試用'None'做數學運算,那麼這些應該由'TypeError'處理。 – user2357112
您可能想查看異常。下面是一些僞代碼應該指向你在正確的軌道上:
if a.size() != b.size():
raise Exception("Invalid sizes")
我不認爲numpy.array對象包含size()方法,但它確實有一個size屬性。您可以使用a.size而不是a.size(),但是我認爲OP正在尋找a.shape而不是a.size – linguanerd
- 1. Python的排序陣列內
- 2. Python刪除()排序列表?
- 3. 如何創建新陣列扣除現有陣列的段
- 4. 在排除陣列
- 5. 排除從陣列
- 6. 排序陣列
- 7. 排序陣列
- 8. 排序陣列
- 9. 排序陣列
- 10. 排序陣列
- 11. 排序陣列
- 12. 排序陣列
- 13. 排序陣列
- 14. 排序陣列
- 15. 排序陣列
- 16. 排序陣列
- 17. Python的 - 在陣列重新排序
- 18. 與零鍵和陣列排序散列值
- 19. 排除來自陣列比較零個值
- 20. ruby排序陣列
- 21. 雙排序陣列
- 22. Javascript排序陣列
- 23. iPhone排序陣列
- 24. 排序陣列AS3
- 25. Android陣列排序
- 26. 排序NsMutable陣列
- 27. Smarty排序陣列
- 28. 無陣列排序
- 29. PHP排序陣列
- 30. F#排序陣列
「a-b返回一個形狀數組[300,450]」不,它不。你是否得到a和b的形狀錯誤? – user2357112
你確定你甚至在談論零級數組嗎?零級數組'a'具有'a.shape ==()'。 – user2357112