假設我想複製一個數組的內容而不是另一個數組,這意味着複製數組的索引被保留並覆蓋第一個數組。在我的情況下,複製數組的長度將始終爲3
,而複製數組的長度將爲任意長度。如何在保持索引的同時將一個numpy數組的內容複製到另一個數組中?
如果複製陣列小超過三個,我能做到這一點很容易像這樣:
>>>a = numpy.zeros(3, int)
>>>a
a = array([0,0,0])
>>>b = numpy.array([2,3])
>>>a[:len(b)] = b
>>>a
a = array([2,3,0])
如果複製數組超過三個大,我能做到這一點是這樣的:
>>>c = numpy.array([5,6,7,8])
>>>a = c[:3]
>>>a
a = array([5,6,7])
但是有沒有能夠做到這一點沒有havign寫一個if
趕上這兩個條件一個更優雅的numpy的方法是什麼?像put()
那樣會允許複製達到某個索引?
編輯:
想出了一個一個襯墊與任意大小的數組x
工作:
a[:numpy.min([3, len(x)])] = x[:numpy.min([3, len(x)])
但還是會喜歡的東西清潔
'a [:len(x)] = x [:len(a)]'? –