Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Analyse von Tuple und Dict in Python

Detaillierte Analyse von Tuple und Dict in Python

Y2J
Y2JOriginal
2017-05-03 15:59:051686Durchsuche

Dieser Artikel stellt hauptsächlich die relevanten Informationen zu Tuple und Dict in Python vor. Ich glaube, dass er für alle, die ihn benötigen, einen gewissen Referenzwert hat.

Vorwort

In diesem Artikel werden einige Kenntnisse über Tuple und Dict in den Datentypen von Python sowie einige integrierte Einführungen in Methoden vermittelt. Im Folgenden gibt es nicht viel zu sagen. Werfen wir einen Blick auf die ausführliche Einführung.

Tupel

Eigenschaften: Die Daten innerhalb des Tupels sind unveränderlich

Definition eines Elements : T = (1,)

>>> T=(1,)
>>> type(T)
<type &#39;tuple&#39;>

Spezieller Vorfahre: „variabler“ Vorfahre

>>> T=(1,2,3,[1,2,3])
>>> T[3][2] = &#39;vimiix&#39;
>>> T
(1, 2, 3, [1, 2, &#39;vimiix&#39;])

Es scheint, dass sich der Vorfahre geändert hat, aber was sich wirklich geändert hat, ist [1, 2, 3] Die Elemente in dieser Liste haben sich geändert, aber die Speicheradresse dieser Liste im Vorfahren T hat sich nicht geändert.

Fazit: Es sind tatsächlich die Elemente des Vorfahren, die variable Elemente enthalten, aber die Speicheradresse der Elemente im Vorfahren hat sich nicht geändert, sodass die sogenannte Unveränderlichkeit des Vorfahren bedeutet, dass die Speicheradresse darauf hingewiesen hat durch das Element ändert sich nicht

Dictionary Dict

Features:

1. Wörterbuch ist der einzige Zuordnungstyp in Python

2. Der Schlüssel des Wörterbuchs (KEY) muss ein unveränderliches Objekt sein -> Da das Wörterbuch über den Hash-Algorithmus im Computer gespeichert wird, besteht die Eigenschaft von Hash darin Der SCHLÜSSEL wird berechnet und gespeichert. Wenn der SCHLÜSSEL variabel ist, führt dies dazu, dass die Daten chaotisch sind.

>>> D = {1:3,&#39;vimiix&#39;:88}
>>> type(D)
<type &#39;dict&#39;>
>>> D={[1,2,3]:100}
Traceback (most recent call last):
 File "<pyshell#15>", line 1, in <module>
 D={[1,2,3]:100}
TypeError: unhashable type: &#39;list&#39; (这里提示list是不能被Hash计算的数据类型,因为list是可变的数据类型)
>>>

Wie aus diesem Fehler ersichtlich ist, können die Schlüssel des Wörterbuchs nur unveränderliche Objekte verwenden (der Vorfahre ist in Ordnung), für die Werte des Wörterbuchs besteht jedoch keine solche Anforderung Wörterbuch

Schlüssel-Wert-Paare werden durch Doppelpunkt':' getrennt, jedes Paar wird durch Komma',' getrennt und alle sind in geschweifte Klammern eingeschlossen'{}'

Schlüssel-Wert-Paare sind nicht in der richtigen Reihenfolge und können daher nicht über den Index abgerufen werden. Der entsprechende Wert kann nur über den Schlüssel abgerufen werden.

Erweiterung: Wenn derselbe Schlüssel angezeigt wird während des Definitionsprozesses wird das letzte beim Speichern beibehalten)

>>> D= {1:2,1:3}
>>> D
{1: 3}

Erstellung und Zugriff

Die erste Möglichkeit zum Erstellen: Direkt erstellen durch Einfügen von Schlüssel-Wert-Paaren in geschweifte Klammern

Die zweite Möglichkeit zum Erstellen: Verwenden Sie zum Erstellen die integrierte Funktion dict(), aufgepasst! dict()Es darf nur ein Parameter in Klammern stehen und alle Schlüssel-Wert-Paare müssen eingeschlossen sein

(1)

>>> D =dict((1,2),(3,4),(5,6))
Traceback (most recent call last):
 File "<pyshell#20>", line 1, in <module>
 D =dict((1,2),(3,4),(5,6))
TypeError: dict expected at most 1 arguments, got 3
>>> D =dict(((1,2),(3,4),(5,6)))
>>> D
{1: 2, 3: 4, 5: 6}

(2) Sie können auch Schlüsselwortparameter angeben

>>> D=dict(vimiix = &#39;VIMIIX&#39;)
>>> D
{&#39;vimiix&#39;: &#39;VIMIIX&#39;}

Sie können hier keine einfachen Anführungszeichen zum Kleinbuchstaben „vimiix“ hinzufügen, da sonst ein Fehler gemeldet wird!

(3) Die integrierte Methode .fromkeys von dict hat zwei Parameter

>>> D = dict.fromkeys((1,&#39;vimiix&#39;),(&#39;common&#39;,&#39;value&#39;))
>>> D
{1: (&#39;common&#39;, &#39;value&#39;), &#39;vimiix&#39;: (&#39;common&#39;, &#39;value&#39;)}
>>>

Im eigentlichen Produktionsprozess wird es mithilfe der Wörterbuchgenerierung erstellt und basierend auf vorhandenen Daten generiert. Entsprechende Daten sind Nur dann sinnvoll, wenn Daten vorhanden sind.

Wörterbuch generative Kastanie:

>>> L1 = [1,2,3]
>>> L2 = [&#39;a&#39;,&#39;v&#39;,&#39;vimiix&#39;]
>>> D={a:b for a in L1 for b in L2}
>>> D
{1: &#39;vimiix&#39;, 2: &#39;vimiix&#39;, 3: &#39;vimiix&#39;}

Dies ist nur eine generative Kastanie, aber keine ideale Antwort. Wir müssen lernen, wie man Eins-zu-Eins-Schlüssel-Wert-Paare generiert

Eingebaute Methode des Wörterbuchs:

get() :

Den Wert abrufen, der dem Schlüssel entspricht. Wenn er nicht gefunden wird, wird er angezeigt Gibt „Keine“ zurück. Wenn es gefunden wird, wird der entsprechende Wert zurückgegeben 🎜> :

Gibt zufällig ein Schlüssel-Wert-Paar im Wörterbuch (Element) zurück und löscht es. Warum wird es zufällig gelöscht? Da Wörterbücher ungeordnet sind, gibt es kein sogenanntes „letztes Element“ oder eine andere Reihenfolge. Wenn Sie auf Aufgaben stoßen, bei denen Sie während der Arbeit Elemente einzeln löschen müssen, ist es sehr effizient, die pop(key)-Methode zu verwenden.

:

popitem()Aktualisieren oder fügen Sie ein Schlüssel-Wert-Paar hinzu (falls vorhanden, ändern Sie es oder fördern Sie es)

popitem()

Zusammenfassung update()

Das obige ist der detaillierte Inhalt vonDetaillierte Analyse von Tuple und Dict in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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