Der Inhalt des Python-Tutorials (Kapitel 5) ist in einem Aufzählungszeichen zusammengefasst.
Vorheriger Artikel: Aufzählungszeichen des Python-Tutorials (Kapitel 4)
Einführung
Grundlegende Prüfung zur Python3 Engineer-Zertifizierung Als Gegenmaßnahme ist dies ein persönliches Memo, das den Inhalt des Python-Tutorials (Buches) in leicht zu merkenden Bulletins zusammenfasst.
Referenzmaterial
Python-Tutorial: https://docs.python.org/ja/3/tutorial/
Kapitel 5: https://docs.python.org/ja/3/tutorial/datastructures.html
Bücher: https://www.oreilly.co.jp/books/9784873117539/
"Kapitel 5 Datenstruktur"
--Python3 Engineer Certification Basic Exam Score
―― 7/40 Fragen (17,5%) ☆☆☆☆ ★ (Bedeutung: Mittel +)
--Thema
--Aufführen
--Taple
--Treffen
--Wörterbuch
- Bewertung durch Vergleichsoperator und Booleschen Operator
- Vergleich von Sequenzen und anderen Objekten
5.1 Ergänzende Informationen zu Listen
- Im Folgenden sind alle Methoden des Listenobjekts aufgeführt.
Methodenname |
Erläuterung |
list.append(x) |
Fügen Sie das Element mit dem Wert x am Ende hinzu. |
list.extend(L) |
Fügen Sie alle Elemente in Liste L am Ende hinzu. |
list.insert(i, x) |
Fügen Sie an der Position des Index i ein Element mit dem Wert x hinzu. |
list.remove(x) |
Löschen Sie das Element mit dem Wert x und dem niedrigsten Index. Fehler, wenn das Element nicht vorhanden ist. |
list.pop([i]) |
Löscht das Element und gibt es am Index i zurück. Der Index kann weggelassen werden, und wenn er weggelassen wird, wird das letzte Element gelöscht / zurückgegeben. |
list.clear() |
Alle Elemente löschen. |
list.index(x) |
Gibt den Mindestindex von Elementen mit dem Wert x zurück. Fehler, wenn das Element nicht vorhanden ist. |
list.count(x) |
Gibt die Anzahl der Elemente mit dem Wert x zurück. |
list.sort(key=None, reverse=False) |
Elemente an Ort und Stelle sortieren. |
list.reverse() |
Vertauschen Sie die Elemente an Ort und Stelle. |
list.copy() |
Gibt eine flache Kopie der Liste zurück. |
5.1.1 Liste als Stapel verwenden
--Stack ist Last-In, First-Out.
--Verwenden Sie append (x), um auf den Stapel zu laden.
--Verwenden Sie pop (), um vom Stapel zu gelangen.
- Es ist schnell, weil es eine Operation am Ende der Liste ist.
5.1.2 Liste als Warteschlange verwenden
- Fragen stehen an erster Stelle, an erster Stelle.
--Verwenden Sie insert (0, x) in die Warteschlange.
--Verwenden Sie pop (), um aus der Warteschlange zu gelangen.
- Da es sich um die Operation ganz oben auf der Liste handelt, ist sie langsam.
- Die Cue-Implementierung sollte Sammlungen anstelle von Listen verwenden.
5.1.3 Aufnahme in die Liste
- ** Listeneinschluss ** besteht aus einem Ausdruck, gefolgt von einer for-Klausel, gefolgt von 0 oder mehr für Klauseln und if-Klauseln, und das Ganze ist in [] eingeschlossen.
-
- squares = * * [x \ * \ * 2 für x im Bereich (10)] * # 0 \ * \ * 0 ~ 9 \ * \ * 9 Liste enthalten
- Listeneinschlüsse können zusammengesetzte Ausdrücke und verschachtelte Funktionen enthalten.
- Häufige Verwendung der Listeneinbeziehung
- Verarbeiten Sie jedes Mitglied einer Sequenz oder eines wiederholbaren Körpers, um eine neue Liste zu erstellen
--Erstellen Sie eine Teilsequenz, indem Sie die Elemente extrahieren, die den Bedingungen entsprechen
5.1.4 Aufnahme verschachtelter Listen
- Jeder Ausdruck kann für den ersten Ausdruck in der Liste verwendet werden.
- Sie können auch verschachtelte Listen einfügen (fügen Sie eine weitere Liste in den ersten Ausdruck ein).
5.2 del Anweisung
-Sie können die ** del-Anweisung ** verwenden, um Elemente in der Liste zu indizieren.
Variablen können auch gelöscht werden.
-
- del a [0] * # Element mit Index 0 löschen
-
- del a [2: 4] * # Gelöschte Elemente mit den Indizes 2 und 3
-
- del a [:] * # Alle Elemente löschen
-
- del a * # Variable löschen a
- Im Gegensatz zu pop () werden gelöschte Elemente nicht zurückgegeben.
--remove () entfernt das erste Element, dessen Argument und Wert übereinstimmen.
5.3 Taples und Sequenzen
- ** Taple ** ist eine Art Sequenz, die aus durch Kommas getrennten Werten besteht.
-Index- und Slice-Operationen sind ebenso möglich wie Strings und Listen.
――Das Definieren eines Taples wird als Tapple-Packung bezeichnet.
-
- t = (12345, 54321, 'Hallo!') * # () Kann weggelassen werden
-
- empty = () * # Taple mit 0 Elementen
-
- singleton = 'hallo', * # Taple mit 1 Element (das Komma am Ende ist der Punkt)
--Wenn der Taple ausgegeben wird, ist er in () eingeschlossen.
--Druck (t) # (12345, 54321, 'Hallo!')
- Das Zuweisen von Tapple-Elementen zu einzelnen Variablen wird als ** Sequenzentpacken ** bezeichnet.
-
- x, y, z = t * # Der Variablen x wird 12345 zugewiesen, y wird 54321 zugewiesen und z wird 'Hallo!' zugewiesen.
- Passen Sie die Anzahl der Variablen und die Anzahl der Tapple-Elemente an.
--Mehrfache Zuordnung ** kann durch Auspacken erfolgen.
-
- x, y, z = 1, 2, 3 * # Ersetzen Sie den Wert von taple (1, 2, 3) für jeden Artikel von taple (x, y, z).
- Unterschied zwischen Tapple und Liste
- Unveränderlich.
- Elemente können veränderbare Objekte wie Listen enthalten.
- Auf jedes Element wird im Allgemeinen durch Entpacken oder Indizieren zugegriffen.
- Elemente verschiedener Datentypen werden häufig gemischt.
5.4 eingestellt
- ** Set ** ist eine Sammlung von Elementen, die sich in keiner Reihenfolge überlappen.
--Python hat ein ** Set-Objekt **, das mit den Funktionen {} und ** set () ** erstellt wird.
--Verwenden Sie set (), um eine leere Menge zu generieren.
- Sie können ** Einschlüsse setzen ** sowie Einschlüsse auflisten.
- a = {x for x in 'abracadabra' if x not in 'abc'}
- Unterstützt mathematische Operationen wie Summen, Schnittpunkte, Differenzen und symmetrische Differenzen.
Betrieb einstellen |
Erläuterung |
a in x [Existenzurteil] |
True, wenn die Menge a ein Element x hat(wahr) Wenn nicht falsch(falsch) |
a | b [Summe] |
Eine Reihe von Elementen bei a oder b |
a - b [Unterschied] |
Eine Reihe von Elementen, die in a, aber nicht in b enthalten sind |
a & b [Kreuzung] |
Eine Reihe von Elementen in a und b |
a ^ b [Symmetrieunterschied] |
Eine Reihe unterschiedlicher Elemente in a oder b |
5.5 Wörterbuch
- ** Dictionary ** ist eine unsortierte Sammlung von "Schlüssel: Wert" -Paaren.
- tel = {'jack': 4098, 'sape': 4139}
-
- print (tel ['jack']) * Gibt # 4098 zurück
-
- print (tel) * # {'jack': 4098, 'sape': 4139} wird zurückgegeben
-
- leer = {} * # leeres Wörterbuch
- Schlüssel sind nicht doppelt vorhanden und jeder unveränderliche Körper kann verwendet werden.
--Zeichenkette
--Numerischer Wert
--Taple (enthält keine variablen Objekte)
- Geben Sie einen Schlüssel an, um das Vorhandensein des Wörterbuchs hinzuzufügen, zu löschen und zu bestätigen.
-
- tel ['guido'] = 4127 * # tel wird mit 'guido' hinzugefügt: 4127
-
- del tel ['jack'] * # tel entfernt 'jack': 4098
-
- 'sape' in tel * # Existenz: Richtig
-
- 'test' in tel * # Existenz: Falsch
- ** Mit der Methode keys () können Sie die Iterable der Schlüsselliste abrufen **.
-
- keylist = list (tel.keys ()) * # Schlüsselliste im Listenformat abrufen
-
- keysort = sortiert (tel.keys ()) * # Ruft die Schlüsselliste im sortierten Listenformat ab
- Übrigens, obwohl es nicht im Tutorial enthalten ist, können Sie mit der ** values () -Methode ** eine Liste von Werten erhalten.
- ** dict () Mit dem Konstruktor ** können Sie aus Taples ein Wörterbuch erstellen.
-
- tel = dict ([('jack', 4098), ('sape', 4139)]) * # tel = {'jack': 4098, 'sape': 4139}
- Wie bei Listen und Taples gibt es auch ** Wörterbucheinschlüsse **.
-
- dic = {x: x \ ** 2 für x in (2, 4, 6)} * # dic = {2: 4, 4: 16, 6: 36} Wie
5.6 Schleifentechnik
- Sie können die ** items () -Methode ** des Wörterbuchs verwenden, um eine Liste der (wiederholbaren) (Schlüssel-, Wert-) Tapples abzurufen.
-Sie können eine Liste von (Index-, Wert-) Tapples (wiederholbar) erhalten, indem Sie eine Sequenz an die Funktion ** enumerate () ** übergeben.
- ** Wenn Sie zwei oder mehr Sequenzen an die Funktion zip () übergeben **, erhalten Sie eine Liste der (wiederholbaren) Tapples von (Wert von Sequenz 1, Wert von Sequenz 2 ...).
- Sie können eine Liste von Elementen (wiederholbaren Objekten) in umgekehrter Indexreihenfolge abrufen, indem Sie eine Sequenz an die Funktion ** reverse () ** übergeben.
- Der Inhalt der Originalsequenz wird nicht umgeschrieben.
- Beachten Sie, dass die Liste im Gegensatz zu sort () unten nicht zurückgegeben wird.
- Sie können eine neue Liste sortierter Elemente abrufen, indem Sie eine Sequenz an die Funktion ** sort () ** übergeben.
- Der Inhalt der Originalsequenz wird nicht umgeschrieben.
5.7 Ergänzende Informationen zu den Bedingungen
- Zu den Operatoren, die zur Beurteilung der Bedingung verwendet werden, gehören ** numerischer Operator **, ** Vergleichsoperator ** und ** Boolescher Operator **.
- Das Urteilsergebnis der Bedingung kann durch ** nicht ** bestritten werden.
Operator |
Erläuterung |
Vergleichsoperator |
==, !=, <, <=, >=, >Es gibt andere als |
a in x |
True, wenn a in der Sequenz x enthalten ist(wahr) |
a not in x |
True, wenn a nicht in Sequenz x enthalten ist(wahr) |
a is x |
True, wenn a und b dieselbe Instanz sind(wahr) |
a is not x |
True, wenn a und b nicht dieselbe Instanz sind(wahr) |
Boolescher Operator |
Alias, Kurzschlussbetreiber |
A and B |
Sowohl A als auch B sind wahr(wahr)Dann wahr(wahr) |
A or B |
A oder B ist wahr(wahr)Dann wahr(wahr) |
not A |
A ist wahr(wahr)Dann falsch(falsch) A ist falsch(falsch)Dann wahr(wahr) |
- Die Priorität der Operatoren ist numerischer Operator> Vergleichsoperator> nicht> und> oder
Sie können die Priorität steuern, indem Sie sie in () einfügen.
--Vergleichsoperatoren können ** verkettet ** werden.
-
- wenn a <b == c: * # (a <b) und (b == c)
- Der Boolesche Operator wertet von rechts nach links aus und endet, wenn die Auswertung entschieden ist.
- Wenn A und B falsch sind und C nicht ausgewertet wird
- Wenn A oder B wahr ist oder C nicht ausgewertet wird
- Wenn anstelle eines Booleschen Werts ein allgemeiner Wert verwendet wird, ist der Rückgabewert des Kurzschlussoperators das zuletzt ausgewertete Argument.
- Die Ergebnisse von Booleschen Ausdrücken wie Vergleichen können Variablen zugewiesen werden.
- Sie können keinen Ausdruck zuweisen.
5.8 Sequenzvergleich, anderer Typvergleich
- Der Größenvergleich von Objekten vom Sequenztyp wird in den folgenden Schritten ausgewertet.
- Vergleichen Sie Elemente mit Index 0 und bewerten Sie das größere als "groß".
- Wenn die Elemente dieselbe Größe haben, erhöhen Sie den Index um +1 und vergleichen Sie die nächsten Elemente.
- Wiederholen Sie Schritt 2, bis Sie Gegenstände unterschiedlicher Größe finden oder eines davon endet.
--Wenn beide Artikel die gleiche Größe haben, werden sie als gleich groß beurteilt.
- Wenn einer von ihnen zuerst das Ende erreicht, wird er als "klein" bewertet.
- Die Größenbeziehung von Zeichenfolgen wird anhand der Unicode-Codepunktnummer verglichen.
--Wenn die Elemente in der Sequenz Sequenzen sind, werden die Elemente auch nach denselben Regeln verglichen.
- Der Vergleich zwischen Objekten unterschiedlichen Typs gibt grundsätzlich eine ** TypeError-Ausnahme ** zurück.
- Ein Vergleich von Zahlenwerten (int und float usw.) ist möglich.
- In einigen Fällen können Sie die entsprechende Vergleichsmethode verwenden, die vom Objekt bereitgestellt wird.
Nächster Artikel: Inhalt des Python-Tutorials mit Aufzählungszeichen (Kapitel 6)