[Python] Kapitel 04-04 Verschiedene Datenstrukturen (siehe Liste)

[Python] Kapitel 04-04 Siehe Liste

Hier möchte ich über "Referenz" in dem Sinne sprechen, dass ich möchte, dass Sie die Merkmale der Liste kennen, anstatt neues Wissen zu erklären.

Objektreferenz

Lassen Sie uns zuerst die Referenz überprüfen. Geben Sie den folgenden Code in die ** Python Console ** ein.

>>>Lx = [8, 6, 5, 9, 7]
>>>Ly = Lx
>>>Ly
[8, 6, 5, 9, 7]

Geben Sie in diesem Zustand den folgenden Code ein.

>>>Ly[4] = 1000
>>>Ly
[8, 6, 5, 9, 1000]

Ich denke, Sie können bis zu diesem Punkt verstehen. Einfach ausgedrückt, ordnen Sie die Liste [8, 6, 5, 9, 7] der Variablen ** Lx ** zu, weisen Sie sie Ly zu und weisen Sie Ly [4] 1000 zu, um den Inhalt zu erhalten. Bestätigen. Wenn Sie Ly anzeigen, ist dies natürlich [8, 6, 5, 9, ** 1000 **].

Lassen Sie uns nun ** Lx ** in diesem Zustand anzeigen. Dann wird es wie folgt sein.

>>>Lx
[8, 6, 5, 9, 1000]

Sie sollten die Elemente der ** Ly ** -Liste früher geändert haben, aber Sie können sehen, dass sich auch ** Lx ** geändert hat.

Ich möchte einen Blick hinter die Kulissen werfen.

Zuerst,

>>>Lx = [8, 6, 5, 9, 7]

In Bezug darauf weise ich Lx eine Liste zu. Das Wichtigste hier ist [Kapitel 02 "Variationen"](https://qiita.com/ko0821/items/8355b4e192aa76a0e8ae#%E5%A4%89%E6%95%B0%E9%87%8D%E8% Wie ich zum Zeitpunkt von A6% 81) erklärte, erwähnte ich, dass ** Variablen Tags ** sind.

Das Markieren von [8, 6, 5, 9, 7] in der Liste mit ** Lx ** ist wiederum dasselbe wie in Kapitel 02 erläutert. Die Figur ist wie folgt.

image.png

Dann als nächstes

>>>Ly = Lx
>>>Ly
[8, 6, 5, 9, 7]

Werfen wir einen Blick darauf. In Bezug auf ** Ly = Lx ** bedeutet dies bei dieser Zuweisung, dass ** sich auf das bezieht, worauf sich die Variable Lx bezieht, und auch auf die Variable Ly **.

Dann denke ich, dass es in der Abbildung unten dargestellt werden kann.

image.png

** Lx ** und ** Ly ** verweisen ** auf dieselbe Liste **. Wenn Ly ausgegeben wird, wird daher [8, 6, 5, 9, 7] ausgegeben.

Dann in diesem Zustand,

>>>Ly[4] = 1000
>>>Ly
[8, 6, 5, 9, 1000]

Dieser Abschnitt erklärt.

Da die Entität, auf die sich Ly bezieht, [8, 6, 5, 9, 7] ist, gilt die Operation für die Entität [8, 6, 5, 9, 7], wenn Ly [4] = 1000 ist. , [8, 6, 5, 9, ** 1000 **].

Daher kann es durch die folgende Abbildung dargestellt werden.

image.png

Wenn Sie in einem solchen Zustand ** Lx ** eingeben,

>>>Lx
[8, 6, 5, 9, 1000]

Und da die Entität, die sich auf ** Ly ** bezieht, dieselbe wie ** Lx ** ist, ändert sich auch das Ausgabeergebnis von ** Lx **.

Nicht nur auf die Referenzen in dieser Liste beschränkt, Referenzen werden in Zukunft an verschiedenen Stellen erscheinen. Es wird allgemein als ** Objektreferenz ** bezeichnet.

(*) </ font> Diejenigen, die die Java-Sprache beherrschen, sind möglicherweise mit diesem Referenzkonzept vertraut. Ich denke, dass das gleiche in "Array" passiert ist.

Über Ausdrücke für zukünftige Variablen

Bisher haben wir mit "Zuweisung" wie "Zuweisen eines Werts zu einer Variablen namens ** x **" erklärt. Von nun an werden wir Ausdrücke wie "Variable ** x ** bezieht sich auf eine Entität (Objekt)" und "Variable ** x ** zeigt an" verwenden.

Müllabfuhr

Bisher bezogen sich die Variablen ** Lx ** und ** Ly ** auf die Liste (Objekt), und durch Bezugnahme darauf konnte der Inhalt der tatsächlichen Liste bestätigt werden.

Geben Sie nun unter Berücksichtigung der obigen Situation den folgenden Code über die ** Python-Konsole ** ein.

>>>Lx = 10
>>>Ly = ['Japan', 'Canada']

Was ich hier sagen möchte, ist, was mit der tatsächlichen Liste passiert [8, 6, 5, 9, 1000].

Die Variablen ** Lx ** und ** Ly ** beziehen sich auf verschiedene Entitäten, sodass die Liste der Entitäten [8, 6, 5, 9, 1000] nicht erreicht werden kann.

Wenn dies so bleibt, ist der Speicher des Computers voll. Um dies zu vermeiden, stellt Python fest, dass es sich um "Garbage Data" handelt, und löscht die tatsächliche Liste [8, 6, 5, 9, 1000].

Dies wird als ** Garbage Collection ** bezeichnet.

Schließlich

Dieses Mal habe ich die Funktionen der Liste beschrieben. Um ehrlich zu sein, verwende ich in der Praxis keine "Referenz", aber es ist etwas, das in jedem Python-Buch zu finden ist.

Wenn Sie Python für die Prüfung zur grundlegenden Informationstechnologie auswählen möchten, wird Ihnen wahrscheinlich eine Frage gestellt. Denken Sie also daran.

Zurück zum [Inhaltsverzeichnis Link]

Recommended Posts

[Python] Kapitel 04-04 Verschiedene Datenstrukturen (siehe Liste)
[Python] Kapitel 04-03 Verschiedene Datenstrukturen (mehrdimensionale Liste)
[Python] Kapitel 04-02 Verschiedene Datenstrukturen (Listenmanipulation)
[Python] Kapitel 04-06 Verschiedene Datenstrukturen (Erstellung eines Wörterbuchs)
[Python] Kapitel 04-07 Verschiedene Datenstrukturen (Wörterbuchmanipulation)
[Python] Kapitel 04-01 Verschiedene Datenstrukturen (Listenerstellung und Elementabruf)
[Python] Kapitel 04-05 Verschiedene Datenstrukturen (Taple-Erstellung und Funktionen)
[Python] [Ergänzung] Kapitel 04-08 Verschiedene Datenstrukturen (Erstellen und Bearbeiten von Mengen)
[Python] [Ergänzung] Kapitel 04-09 Verschiedene Datenstrukturen (Mengenlehre und Arithmetik in Mengen)
Python für die Datenanalyse Kapitel 4
Python für die Datenanalyse Kapitel 2
Python für die Datenanalyse Kapitel 3
Python-Datenstruktur mit Chemoinfomatik gelernt
[Python] -Liste
Anwendung von Python: Datenvisualisierung Teil 3: Verschiedene Grafiken
[Einführung in Python3, Tag 17] Kapitel 8 Datenziele (8.1-8.2.5)
Ali Buch in Python: Abschnitt 2-4, Datenstruktur
[Einführung in Python3, Tag 17] Kapitel 8 Datenziele (8.3-8.3.6.1)
Python-Datenstruktur und interne Implementierung ~ Liste ~
[Einführung in Python3 Tag 19] Kapitel 8 Datenziele (8.4-8.5)
[Einführung in Python3 Tag 18] Kapitel 8 Datenziele (8.3.6.2 bis 8.3.6.3)
[Python] Verschiedene Datenverarbeitung mit Numpy-Array
Python-Grundlagen: Liste
[Python] Erstellen Sie eine Liste mit verschiedenen Zeichentypen
# 3 [python3] Verschiedene Operatoren
Python> Verständnis / Inklusive Notation> Listenverständnis
Anwendung von Python: Datenverarbeitung Teil 2: Analyse verschiedener Datenformate
Python-Listenmanipulation
[Python] Daten lesen
Liste der Python-Bibliotheken für Datenwissenschaftler und Dateningenieure
Liste des Python-Codes, der bei der Big-Data-Analyse verwendet wird
[Technisches Buch] Einführung in die Datenanalyse mit Python -1 Kapitel Einführung-
Sortierte Liste in Python
Python-Übung 2 - List Inclusion Notation
Datenanalyse mit Python 2
Liste der Python-Module
Python> Liste> verlängern () oder + =
Python-Datenvisualisierungsbibliotheken
Datenanalyse Übersicht Python
Geschwindigkeit der Listeneinschlussnotation in Python
Filterliste in Python
Python unittest assertXXX Liste
Verschiedene Python-Visualisierungstools
Datenbereinigung mit Python
Python3-Memo vom Typ Liste / Wörterbuch
[Memo] Python 3-Listensortierung
Liste der Python-APIs für OpenCV3
Python-Fehlerliste (Japanisch)
Die findähnliche Sache der Liste in Python
Python-Datenanalysevorlage
[Python-Tutorial] Datenstruktur
[Python] Numpy Daten sortieren
[Python] Kapitel 01-01 Über Python (Erster Python)
Datenanalyse mit Python
Liste der Python-Ausnahmeklassen
Verschiedene Verarbeitung von Python
Liste mit Python initialisieren
[Python] Es kann nützlich sein, die Datenrahmen aufzulisten
Verschiedene Methoden zur Berechnung der Ähnlichkeit zwischen Daten mit Python