Heim > Backend-Entwicklung > Python-Tutorial > Wann wird bei der NumPy-Array-Zuweisung zusätzlicher Speicher zugewiesen?

Wann wird bei der NumPy-Array-Zuweisung zusätzlicher Speicher zugewiesen?

Linda Hamilton
Freigeben: 2024-10-22 10:25:30
Original
682 Leute haben es durchsucht

When Is Additional Memory Allocated in NumPy Array Assignment?

Numpy-Array-Zuweisung: Unterschiede bei der Speicherzuordnung

In NumPy gibt es drei gängige Möglichkeiten, einem Array Werte zuzuweisen:

  • B = A
  • B[:] = A
  • numpy.copy(B, A)

B = A

Wenn Sie B = A verwenden, erstellen Sie kein neues Array. Stattdessen binden Sie einen neuen Namen (B) an das vorhandene Array (A). Infolgedessen werden alle an einem Array vorgenommenen Änderungen im anderen widergespiegelt.

B[:] = A

Diese Syntax erstellt ein neues Array B mit dem dieselben Abmessungen und Werte wie A. Das ursprüngliche Array A wird nicht geändert. Diese Methode erfordert im Vergleich zu numpy.copy weniger Speicherzuweisung.

numpy.copy(B, A)

Diese Methode ist nicht legal, wie Sie geschrieben haben. Es sollte B = numpy.copy(A) sein. numpy.copy erstellt ein neues Array B mit den gleichen Abmessungen und Werten wie A. Diese Methode erfordert im Vergleich zu B[:] = A mehr Speicherzuweisung, da sie eine separate physische Kopie der Daten vom ursprünglichen Array erstellt.

Wann wird zusätzlicher Speicher zugewiesen?

Zusätzlicher Speicher wird zugewiesen, wenn Sie numpy.copy verwenden, um eine neue physische Kopie des Arrays zu erstellen. Dies liegt daran, dass ein neuer zusammenhängender Speicherblock für die kopierten Daten zugewiesen wird.

Wann wird Speicher nicht zugewiesen?

Speicher wird nicht zugewiesen, wenn Sie B = A verwenden weil Sie einfach das ursprüngliche Array umbenennen. Speicher wird auch nicht zugewiesen, wenn Sie B[:] = A verwenden, da es denselben Speicherort wie das ursprüngliche Array wiederverwendet.

Das obige ist der detaillierte Inhalt vonWann wird bei der NumPy-Array-Zuweisung zusätzlicher Speicher zugewiesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage