Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Beschreibung der integrierten Datenstrukturen von Python

Detaillierte Beschreibung der integrierten Datenstrukturen von Python

高洛峰
高洛峰Original
2017-03-13 18:08:401423Durchsuche

Dieser Artikel gibt Ihnen eine Zusammenfassung der 5 integrierten Datenstrukturen und Operationsbeispiele in Python. Freunde, die es benötigen, können darauf zurückgreifen.

1. Liste (Liste)

Liste ist eine Datenstruktur, in der eine Reihe von Elementen gespeichert werden kann. Die Elemente der Liste müssen durch Kommas getrennt und in zwei eckige Klammern gesetzt 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
The Der dritte 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 hinzufügen zu class_list. Das heißt, die Elemente in einer Liste müssen nicht vom gleichen Typ sein. Sie können sogar eine Liste in class_list einfügen. Die
sort-Funktion wirkt auf sich selbst, anstatt eine Kopie zurückzugeben, was sich vom Typ string unterscheidet, da Zeichenfolgen 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 Reihe von Schlüssel-Wert-Paaren (Schlüssel-Wert) 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

Vier, Sequenzen

Die drei oben eingeführten integrierten 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)

Eine Sammlung ist eine ungeordnete Sammlung 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'])

Das obige ist der detaillierte Inhalt vonDetaillierte Beschreibung der integrierten Datenstrukturen von 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