Funktionen und Konzepte von Python-Containern

Ich habe kürzlich JSON, eine Technologie zum Austausch von Datenformaten, verwendet und festgestellt, dass ihr Format vollständig mit dem Format des Python-Containers übereinstimmt. Man kann sagen, dass JSON Python ist. Überprüfen Sie daher das Format des Python-Containers und dessen Format Zugang;

Inhaltsverzeichnis

Arten von Python-Containern:

Zeichenfolge

String-Formatierung

Zeichenfolgen sind unveränderlich

Elementzugriff in einer Zeichenfolge

String-Slice

Liste[ ] 

Tupel ( )

versammeln{ }

Wörterbuch{ }


Arten von Python-Containern:

        Die in Python häufig verwendeten Container sind hauptsächlich in zwei Typen unterteilt: Sequenzen ( dh geordnete Listen wie Listen, Tupel usw.) und Karten (wie Wörterbücher). In der Sequenz hat jedes Element einen Index und sie sind geordnet. In einer Karte hat jedes Element einen Namen (auch „Schlüssel“ genannt), der ungeordnet ist.
Neben Sequenzen und Karten gibt es noch eine andere Art von Container, die Aufmerksamkeit erfordert – die „Sammlung“.

        Es gibt fünf Arten von Python-Containern (ich denke, Strings sind auch eine Art Container, natürlich kann man auch denken, dass es nur vier Arten gibt, was harmlos ist)

string, list[ ], tuple( ), set{ }, dictionary{ }; 

Zeichenfolge

String-Formatierung

        Wenn es um Strings geht, muss ich die schnelle Formatierungssyntax von Python-Strings erwähnen (weil es ein bisschen so ist, als würde man el-Ausdrücke in der Front-End-Weboberfläche verwenden, um Daten aus dem Feld abzurufen):

num = 12
print(f"数字 :{num}")

Natürlich können Sie auch Platzhalter wie C-Sprache verwenden, allerdings mit einem kleinen Unterschied:

Python:

num = 111
num3 = 129.1234
str1 = "字符串1"

print("字符串: %s,整数字:%d,浮点数:%7.2f" % (str1, num, num3))

C Sprache:

#include <stdio.h>
int main()
{
	int a = 10, b = 20;
	int len = printf("a = %d, b = %d\n", a, b);
	printf("len = %d\n", len);
}

Zeichenfolgen sind unveränderlich

        Zeichenfolgen in Python sind unveränderlich. Unveränderlichkeit bedeutet, dass ein Element in einer Zeichenfolge nicht über einen Index geändert werden kann. Wenn Sie Java studiert haben, wissen Sie, dass Zeichenfolgen in Java ebenfalls unveränderlich sind. Unveränderlich hier Es ist nicht unveränderlich, zum Beispiel das Folgende String-Code-Python ist erlaubt;

str1 = "qqq"
str1 = "wwww"
print(str1)  //wwww

        Die Unveränderlichkeit von Zeichenfolgen bedeutet, dass eine einmal erstellte Zeichenfolge nicht mehr geändert werden kann. Das heißt, wenn Sie die Zeichen in der Zeichenfolge ändern oder neue Zeichen hinzufügen müssen, müssen Sie ein neues Zeichenfolgenobjekt erstellen (es spielt keine Rolle, wenn Sie es nicht verstehen, Sie können den Code unten sehen).

my_string = "hello"
my_string[0] = "H"
print(my_string)  // 'str' object does not support item assignment

my_stringIn diesem Beispiel versuchen wir, das erste Zeichen der Zeichenfolge vom Kleinbuchstaben „h“ in den Großbuchstaben „H“         zu ändern . Wenn wir diesen Code jedoch ausführen, wird die Ausnahme „str“ object does not support item attachment ausgelöst:

        Dies liegt daran, dass Python-Strings unveränderlich sind und ihre Elemente nicht durch Indizierung geändert werden können . Wenn Sie die Zeichen in einem String ändern möchten, müssen Sie ein neues String-Objekt erstellen und es der ursprünglichen String-Variablen zuweisen.

Elementzugriff in einer Zeichenfolge

        Sowohl Strings in Python als auch Strings in Java können Elemente an bestimmten Positionen über Indizes erhalten. Diese Funktion gewährleistet das String-Slicing, also das Schneiden von Strings. Die Methode subString() wird in Java und in Python verwendet

name = "zhangsan"
print(name[0])//输出z

String-Slice

String-Format:

Das Format eines String-Slice in Python ist:[start:stop:step]

Darunter startstellt es die Startposition (einschließlich dieser Position), stopdie Endposition (ohne diese Position) und stepdie Schrittgröße dar.

Um beispielsweise hello worlddie ersten drei Zeichen einer Zeichenfolge abzurufen, können Sie den folgenden Code verwenden:

my_string = "hello world"
result = my_string[0:3]
print(result)   # 输出 "hel"

        In diesem Beispiel verwenden wir String-Slicing, [0:3]um die ersten drei Zeichen des Strings zu erhalten. Da es sich bei der Slicing-Operation um einen links-geschlossenen, rechts-offenen Bereich handelt, verwendet diese Operation das erste, zweite und dritte Zeichen der Zeichenfolge und gibt eine neue Zeichenfolge zurück hel.

        Darüber hinaus können auch negative Zahlen verwendet werden, um den vom Ende der Zeichenfolge berechneten Indexwert darzustellen, dh die Zeichenfolge unterstützt auch Rückblenden. Wenn Sie beispielsweise die letzten vier Zeichen einer Zeichenfolge abrufen möchten, können Sie Code wie diesen verwenden:

my_string = "hello world"
result = my_string[-4:]
print(result)   # 输出 "orld"

        In diesem Beispiel verwenden wir String-Slicing, [-4:]um die letzten vier Zeichen des Strings abzurufen. Da die Endposition nicht angegeben werden kann, wird standardmäßig das Ende der Zeichenfolge verwendet, sodass diese Operation die viertletzten, drittletzten, vorletzten und vorletzten Zeichen von abruft die Zeichenfolge und gibt eine neue Zeichenfolge zurück orld.


Liste[ ]

Eine Liste in Python ist ein geordneter Container, der die Speicherung einer beliebigen Anzahl und Art von Elementen ermöglicht und dessen Größe dynamisch geändert werden kann. Im Folgenden sind die Hauptfunktionen von Python-Listen aufgeführt:

  1. Veränderlichkeit: Die Elemente in der Liste können geändert, hinzugefügt, gelöscht usw. werden, es handelt sich also um einen variablen Container, der mit der Unveränderlichkeit von Zeichenfolgen verglichen wird.

  2. Ordnung: Die Elemente in der Liste sind in der Reihenfolge ihrer Einfügung angeordnet, sodass auf die Elemente in der Liste über Indizes zugegriffen und diese manipuliert werden können.

  3. Flexibilität: Listen können eine beliebige Anzahl und Art von Elementen speichern, einschließlich Datentypen wie Zahlen, Zeichenfolgen, booleschen Werten und Funktionen.

  4. Unterstützung für Slicing: Verwenden Sie den Slicing-Vorgang, um eine Unterliste aus der Liste abzurufen, oder führen Sie Vorgänge wie das Teilen und Zusammenführen der Liste aus. Das Format ist genau das gleiche wie das String-Slicing-Format.

  5. Methodenvielfalt: Listen unterstützen eine Vielzahl gängiger Operationen wie Sortieren, Suchen, Durchlaufen usw.

  6. Iterabilität: Eine Liste ist ein iterierbares Objekt, dessen Elemente mithilfe einer for-Schleife durchlaufen werden können.

Grammatikformat: 

list1 = [ 123 , "456" , [123,"456"] ,True]

Merkmale: In eckige Klammern eingeschlossen und durch Kommas getrennt, können Elemente jeden Typs verschachtelt und über den Index gelesen und geschrieben werden

        Basierend auf den oben genannten Merkmalen der Liste können wir jedes Element in der Liste hinzufügen, löschen, ändern und überprüfen. Elemente können nach Index gelöscht werden (pop), Elemente können auch nach Wert gelöscht werden (remove), Elemente können an einer bestimmten Position eingefügt werden (insert) oder Elemente können an das Ende der Liste angehängt werden (append).


Tupel ( )

In Python ist ein Tupel ein geordneter Container zum Speichern mehrerer Werte. Tupel ähneln Listen. Sie können sich Tupel als eine besondere Art von Liste vorstellen, jedoch mit den folgenden Merkmalen:

  1. Unveränderlichkeit: Elemente in einem Tupel dürfen nicht geändert, hinzugefügt oder entfernt werden. Dies bedeutet, dass ein einmal erstelltes Tupel nicht mehr geändert werden kann.

  2. Ordnung: Die Elemente im Tupel sind in der Reihenfolge ihrer Einfügung angeordnet. Daher kann ein Index verwendet werden, um auf ein Element an einer bestimmten Position zuzugreifen.

  3. Kann jede Art von Daten enthalten: Tupel können Datentypen wie Zahlen, Zeichenfolgen, boolesche Werte und Funktionen enthalten.

  4. Unterelemente mit Unveränderlichkeit: Wenn ein Element im Tupel selbst unveränderlich ist (z. B. ein anderes Tupel oder eine Zeichenfolge), kann dieses Element ebenfalls nicht geändert werden.

  5. Kann als Wörterbuchschlüssel verwendet werden: Da Tupel unveränderlich sind, können sie sicher als Schlüssel für Wörterbücher verwendet werden. Im Gegensatz dazu können Listen nicht als Schlüssel für Wörterbücher verwendet werden, da sie veränderbar sind.

Grammatikformat:

Grammatik: (123, 456, 789)

Merkmale: In Klammern eingeschlossen, durch Kommas getrennt, Elementtypen müssen einheitlich sein, können verschachtelt werden, erfüllen aber denselben Typ, können mit Index gelesen, aber nicht geschrieben, geschweige denn hinzugefügt oder gelöscht werden.

        Alle Operationen an Tupeln ähneln Listen. Der einzige Unterschied besteht darin, dass sie nur durchsucht werden können und nicht hinzugefügt (kein Anhängen und Einfügen), gelöscht (kein Entfernen und Einfügen) oder geändert (Elementen kann kein Wert zugewiesen werden) werden können. Man kann davon ausgehen, dass Tuple eine Liste ist, deren Elementtypen vereinheitlicht werden müssen und nicht geändert werden können und nur der Inhalt darin gelesen werden kann.

Tupel sind unveränderlich

Erklären Sie, dass die Elementtypen von Tupeln vereinheitlicht werden müssen. Tatsächlich können wir beim Definieren von Tupeln verschiedene Datentypen speichern, werden sie jedoch nicht auf diese Weise verwenden, da die ursprüngliche Absicht von Python zum Entwerfen von Tupeln darin besteht, a zu definieren speziell Die Liste ist geordnet und verfügt über die meisten Funktionen der Liste und ist unveränderlich. Unveränderlich bedeutet hier auch, dass die darin enthaltenen Elemente nicht durch Indizierung geändert werden können

tup1 = (12, "ser", 23, True)

print(type(tup1[0]))

# tup1[1] += 23   TypeError: can only concatenate str (not "int") to str

num = tup1[0] + 23
print(num)

# tup1[0] = 12   TypeError: 'tuple' object does not support item assignment


versammeln{ }

In Python ist eine Menge (Set) ein ungeordneter Container zum Speichern eindeutiger Elemente. Das heißt, bevor ein Wert gespeichert wird, wird zunächst eine Beurteilung vorgenommen. Wenn er nicht gespeichert wird und direkt übersprungen wird, ist dies eine ein bisschen wie Javas Set-Sammlung. Im Folgenden sind die Hauptfunktionen von Python-Sammlungen aufgeführt:

  1. Ungeordnet: Die Elemente in einer Sammlung haben keine feste Reihenfolge, daher kann nicht wie bei Listen oder Tupeln über einen Index auf sie zugegriffen werden.

  2. Einzigartigkeit: Die Elemente in der Sammlung müssen eindeutig sein und doppelte Elemente werden zu einem zusammengeführt. Dies bedeutet, dass Sets zum Entfernen doppelter Elemente verwendet werden können.

  3. Veränderlichkeit: Eine Sammlung ist ein veränderlicher Container, in dem Elemente hinzugefügt, entfernt oder geändert werden können.

  4. Indizes werden nicht unterstützt: Da Sammlungen ungeordnet sind, können sie nicht wie andere Sequenztypen über Indizes auf ihre Elemente zugreifen.

  5. Unterstützt mehrere Operationen: Sets unterstützen viele gängige Operationen wie Vereinigung, Schnittmenge, Differenz usw., die zum Verarbeiten und Betreiben von Sets verwendet werden können.

  6. Iterabilität: Eine Sammlung ist ein iterierbares Objekt, dessen Elemente mithilfe einer for-Schleife durchlaufen werden können.

Zusammenfassend lässt sich sagen, dass die Python-Sammlung eine einfache und nützliche Datenstruktur ist, die normalerweise zum Speichern eindeutiger Elemente verwendet wird und verschiedene Vorgänge bequem ausführen kann. Die Einzigartigkeit von Mengen macht sie zu einer guten Wahl für das Design und sie können oft in Verbindung mit anderen Python-Objekten (wie Listen, Wörterbüchern usw.) verwendet werden, um Probleme optimal zu lösen.

Grammatikformat:

Syntax: {123,"qqq", 456}

Features: In geschweiften Klammern eingeschlossen und durch Kommas getrennt, können Elemente jeglicher Art verschachtelt werden;

Die Set-Sammlung unterstützt keinen Indexzugriff. Der folgende Code meldet beispielsweise einen Fehler:

set1 = {123, "www", 23}
print(set1[2])  //TypeError: 'set' object is not subscriptable


Wörterbuch{ }

In Python ist ein Wörterbuch (Dictionary) ein ungeordneter Container zum Speichern von Schlüssel-Wert-Paaren. Ein Wörterbuch ähnelt einer Kartensammlung in Java. Im Folgenden sind die Hauptfunktionen von Python-Wörterbüchern aufgeführt:

  1. Schlüssel-Wert-Paar: Die Elemente im Wörterbuch bestehen aus einem Schlüssel (Schlüssel) und einem Wert (Wert), und jeder Schlüssel entspricht einem Wert. Mit dem Schlüssel können Sie den entsprechenden Wert abrufen.

  2. Veränderlichkeit: Ein Wörterbuch ist ein veränderlicher Container, dessen Elemente hinzugefügt, entfernt oder geändert werden können.

  3. Eindeutigkeit: Die Schlüssel im Wörterbuch müssen eindeutig sein. Wenn Sie versuchen, ein Element mit einem doppelten Schlüssel hinzuzufügen, wird der ursprüngliche Wert überschrieben.

  4. Indizes werden nicht unterstützt: Da Wörterbücher ungeordnet sind, können sie wie andere Sequenztypen nicht über Indizes auf ihre Elemente zugreifen.

  5. Unterstützt mehrere Vorgänge: Wörterbücher unterstützen viele gängige Vorgänge, z. B. das Abrufen aller Schlüssel, das Abrufen aller Werte, das Überprüfen, ob ein Schlüssel enthalten ist usw., die zum Verarbeiten und Betreiben von Wörterbüchern verwendet werden können.

  6. Iterabilität: Ein Wörterbuch ist ein iterierbares Objekt, über dessen Schlüssel oder Werte mithilfe einer for-Schleife iteriert werden kann.

Grammatikformat:

Syntax: {         "name": "zhangsan",

        „Alter“: 22,

        „Geschlecht“: „nan“

}

Merkmale: In geschweifte Klammern eingeschlossen und durch Kommas getrennt, müssen Elemente ein einheitliches Format haben (zwei durch Semikolons getrennte Teile, die erste Hälfte muss eine Zeichenfolge sein, die zweite Hälfte ist optional), der Schlüssel muss eine Zeichenfolge sein, wenn ein Element vorhanden ist gefunden nicht Wenn es einen Doppelpunkt enthält, wird es als Set behandelt. Da einige Elemente Semikolons enthalten und Set das Erscheinen von Doppelpunkten in Elementen zulässt (zählt nicht in Zeichenfolgen), wird zu diesem Zeitpunkt ein Fehler gemeldet.

おすすめ

転載: blog.csdn.net/m0_64231944/article/details/130794949