簡體   English   中英

ValueError:矩陣未針對復制錯誤和x [:]對齊

[英]ValueError: matrices are not aligned for copy error and x[:]

我得到了ValueError如下。

ValueError:矩陣未針對復制錯誤進行對齊

它被追溯到以下行(我沒有編寫此代碼,我正在嘗試使用它):

x1[:] =  _dotproduct(x1, u)

點積類似於numpy點積,它可以很好地工作, printing _dotproduct(x1, u)給出有效答案。 x1[:]不起作用。

[:]是什么意思? 我從未見過。

另外,如何解決對齊錯誤?

編輯:
現在,我已將錯誤跟蹤到x1[:] ,因此可以代替以下操作:

hh=len(x1)

x1[0:hh]=_dotproduct(x1, u)嗎?

在這種情況下,由於它位於=符號的左側,因此是切片分配。 對象x1仍然是同一對象,但是其所有內容都被右側的序列替換。 如果沒有[:] ,則x1將分配給完全不同的對象。

使用分片分配意味着,如果程序中存在對同一變量的其他引用,則所有這些引用都會看到新內容。 例如,函數的調用者傳入一個容器,該函數替換其內容。 沒有切片分配,這將是不可能的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM