Heim >Backend-Entwicklung >Python-Tutorial >Detaillierte Erläuterung der in Python integrierten Datenstrukturen
Dieser Artikel fasst 5 in Python integrierte Datenstrukturen und Operationsbeispiele zusammen. Freunde, die sie benötigen, können darauf zurückgreifen.
1. Liste
Eine Liste ist eine Datenstruktur, in der eine Reihe von Elementen gespeichert werden kann. Die Elemente der Liste müssen durch Kommas getrennt werden und alle Elemente müssen in ein Paar eckiger Klammern eingeschlossen werden, um anzuzeigen, dass es sich um eine Liste handelt. Das folgende Beispiel wird verwendet, um einige grundlegende Operationen der Liste zu zeigen:
# 定义一个 list 对象 class_list: class_list = ['Michael', 'Bob', 'Tracy'] # 获得一个 class_list 的长度 print 'class have', len(class_list), 'students' # 访问class_list中的对象 print 'The 3rd student in class is', class_list[2] # 往 class_list 中插入对象 class_list.append('Paul') # 从 class_list 中删除一个项目 del class_list[0] # 对 class_list 进行排序 class_list.sort() # 遍历整个class_list中的项目 print 'These students are :', for student in class_list: print student,
Das Ausgabeergebnis ist:
Klasse hat 3 Schüler
Der 3. Schüler in der Klasse ist Tracy
Diese Schüler sind: Bob Paul Tracy
Zu dem obigen Code sind einige Dinge zu beachten:
Sie können jede Art von Objekt zu class_list hinzufügen, das heißt, dies ist nicht der Fall erfordern ein Objekt in der Liste. Elemente sind vom gleichen Typ. Sie können sogar eine Liste in class_list einfügen.
Die Sortierfunktion arbeitet für sich selbst und gibt keine Kopie zurück. Dies unterscheidet sich vom String-Typ, da Strings nicht geändert werden können.
Der End-Schlüsselwortparameter der Druckfunktion wird verwendet, um die Ausgabe nach Abschluss der Eingabe anzugeben. Der Standardwert ist ein Zeilenumbruchzeichen. Der obige Code verwendet ein Leerzeichen, um das Zeilenumbruchzeichen zu ersetzen.
2. Tuple
Tuple unterscheidet sich in der Verwendung und im Konzept nicht wesentlich von der Liste die Liste. Dies bedeutet, dass ein einmal definiertes Tupel nicht mehr geändert werden kann – Objekte können weder hinzugefügt oder gelöscht werden, noch können Objekte im Tupel geändert werden. Die Elemente in
Tupel sollten ebenfalls durch Kommas getrennt werden und die Elemente sollten in Klammern eingeschlossen werden, um anzuzeigen, dass es sich um ein Tupel handelt. Diese Klammern sind optional, was bedeutet, dass ein Tupel auf die folgenden zwei Arten definiert werden kann:
t = 'Adam', 'Lisa', 'Bart'
t = ('Adam', 'Lisa ', 'Bart')
Aber das Klammerpaar wegzulassen ist nicht unbedingt eine gute Angewohnheit. Wenn das Tupel nur ein Element enthält, muss außerdem nach dem ersten Element ein Komma stehen. In diesem Fall sollte t = ('Adam',) wie folgt definiert werden. Dies mag wie eine seltsame Einschränkung erscheinen, aber ohne das Komma wird das ohne Klammern definierte Tupel zu t = 'Adam', was offensichtlich mehrdeutig ist.
3. Wörterbuch
Ein Wörterbuch kann als eine Menge von Schlüssel-Wert-Paaren betrachtet werden. Schlüssel müssen eindeutig sein und jedem Schlüssel ist ein Wert zugeordnet. Der Schlüssel muss ein unveränderliches Objekt sein (z. B. Tupel, numerischer Typ, Zeichenfolge). Beachten Sie außerdem, dass die Schlüssel-Wert-Paare im Wörterbuch in keiner Weise geordnet sind.
Die Definition eines Wörterbuchs sollte im Format d={Schlüssel1: Wert1, Schlüssel2: Wert2, Schlüssel3: Wert3} vorliegen. Schlüssel und Werte werden durch Doppelpunkte getrennt, Schlüssel-Wert-Paare werden durch Kommas getrennt und alle Schlüssel-Wert-Paare werden in geschweifte Klammern eingeschlossen. Einige grundlegende Operationen sind wie folgt:
# 字典的定义 d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } # 通过键来获取值 print "Adam's score is", d['Adam'] # 删除一个键值对 del d['Bart'] # 遍历字典 for name, score in d.items(): print '{0} is {1}'.format(name, score) # 往字典中增加一个键值对 d['Paul'] = 72 # 判断字典中是否存在某键,也可以用 if ab.has_key('Lisa') if 'Lisa' in d: print "Lisa's address is", d['Lisa']
Das Ausgabeergebnis ist:
Adam's score is 95 Lisa is 85 Adam is 95 Lisa's address is 85
4. Sequenzen
Die drei oben eingeführten Typen Integrierte Datenstrukturen sind alle Sequenzen, und die Indexoperation ist eine Grundoperation der Sequenz. Auf die Objekte in der Sequenz kann direkt über die Indexoperation zugegriffen werden. Obwohl der Subskriptionsvorgang oben demonstriert wurde, werden Warteschlangen und Tupel mit Zahlen und Wörterbücher mit Schlüsselwörtern subskribiert. Die Indizes der
-Sequenz beginnen bei 0. Im obigen Beispiel werden nur positive Indizes verwendet. Tatsächlich können die Indizes auch negative Zahlen sein, wie zum Beispiel -1,-2,-3... Negative Indizes stellen Positionen in der entgegengesetzten Richtung dar. Klassenliste[-1] gibt beispielsweise das letzte Element in Klassenliste zurück.
Die Sequenz unterstützt nicht nur negative Indizes, sondern auch doppelte Indizes. Dieses Paar doppelter Indizes stellt ein Intervall dar. Beispielsweise gibt „class_list[0:3]“ eine Kopie der Teilsequenz von Index 1 bis Index 3 in „class_list“ zurück. Beachten Sie, dass es sich bei diesem Intervall um ein Paar halbgeschlossener und halboffener Intervalle handelt. Dieser Vorgang wird als Slicing-Vorgang bezeichnet. Wenn der zweite Index des Slicing-Vorgangs den Bereich der Sequenz überschreitet, wird der Slicing-Vorgang am Ende der Sequenz beendet. Beide Indizes in der Slicing-Operation haben Standardwerte. Der Standardwert des ersten ist 0 und die Größe des zweiten ist die Länge der Sequenz.
Sie können auch einen dritten Parameter für den Slicing-Vorgang angeben. Der dritte Parameter stellt die Schrittgröße des Slicing-Vorgangs dar. Sein Standardwert ist 1. Die Schrittgröße stellt den Abstand zwischen Elementen dar, z. B. name[0:10:3]. Zurückgegeben wird die Teilsequenz, die aus den Indizes 0, 3, 6 und 9 im Namen besteht.
5. Set (Set)
Ein Set ist eine Sammlung ungeordneter einfacher Objekte. Sets eignen sich, wenn es Ihnen nur darum geht, ob ein Objekt in der Sammlung vorhanden ist, unabhängig von der Reihenfolge, in der es existiert, oder der Häufigkeit, mit der es erscheint. Grundfunktionen: Bestimmen Sie, ob es sich um ein Mitglied einer Menge handelt, ob eine Menge eine Teilmenge einer anderen Menge ist, ermitteln Sie den Schnittpunkt zweier Mengen usw. Beispiel:
s = set(['Adam', 'Lisa', 'Bart', 'Paul']) # 判断对象是否在集合中 if 'Bart' in s: print "Bart is in ?", 'Bart' in s # 使用copy函数来拷贝一个set sc = s.copy() # 往集合中添加对象 sc.add('Bill') # 从集合中删除对象 sc.remove('Adam') # 求两个集合的交集,也可以使用 s.intersection(sc) print s & sc
Ausgabeergebnis:
Bart is in ? True set(['Lisa', 'Paul', 'Bart'])
Verwandte Empfehlungen:
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der in Python integrierten Datenstrukturen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!