Dieser Artikel bietet Ihnen eine kurze Einführung in das Sammlungsmodul in Python (mit Beispielen). Ich hoffe, dass er für Freunde hilfreich ist.
Sammlungsmodul:
Basierend auf den integrierten Datentypen (Dikt, Liste, Menge, Tupel) stellt das Sammlungsmodul auch mehrere zusätzliche Datentypen bereit: Counter, Deque, Defaultdict, NamedTuple und OrderedDict usw.
1:namedtuple
Generiert ein Tupel, das über den Namen auf den Inhalt des Elements zugreifen kann
Zum Beispiel: Stellt eine Koordinate dar
from collections import namedtuple point = namedtuple('point',['x','y']) p=point(1,2) print(p.x) print(p.y)
2 :deque Doppelendige Warteschlange:
Doppelendige Warteschlange kann schnell Objekte von der anderen Seite hinzufügen und verschieben.
Wenn Sie eine Liste zum Speichern von Daten verwenden, ist der Zugriff auf Elemente über den Index schnell, das Einfügen und Löschen von Elementen ist jedoch sehr langsam, da es sich bei der Liste um einen linearen Speicher handelt, und wenn die Datenmenge groß ist, ist die Effizienz beim Einfügen und Löschen sehr hoch niedrig
deque ist eine Zwei-Wege-Liste zur effizienten Implementierung von Einfüge- und Löschvorgängen, geeignet für Warteschlangen und Stapel
>>1 >>2
from collections import deque q=deque(['a','b','c']) q.append('x') q.appendleft('y') print(q)
3: Zählerzähler
Zähler, hauptsächlich verwendet für Zählung
Der Zweck besteht darin, die Häufigkeit zu verfolgen, mit der ein Wert ausgegeben wird. Es handelt sich um einen ungeordneten Containertyp, der in Form von Schlüssel-Wert-Paaren eines Wörterbuchs gespeichert wird, wobei das Element als Schlüssel verwendet wird und seine Anzahl beträgt als Wert verwendet
Der Zählwert kann eine beliebige ganze Zahl sein (einschließlich 0 und negative Zahlen),
Erstellen:
>>deque(['y', 'a', 'b', 'c', 'x'])
Zählwertzugriff mit fehlendem Schlüssel
Wann Der Schlüssel, auf den zugegriffen wurde, existiert nicht. Geben Sie 0 anstelle von KeyError zurück. Andernfalls geben Sie dessen Anzahl zurück iterierbares Objekt oder ein anderes Zählerobjekt zum Aktualisieren von Schlüssel-Wert-Paaren
Erhöhungen aktualisieren
from collections import Counter #创建一个空的类 c=Counter() #从一个可迭代对象中创建 c=Counter('gallahad') #从一个字典对象创建 c=Counter({'a':2,'b':4}) #从一组键值对创建 c=Counter(a=2,b=4)
Abnahmen subtrahieren
c=Counter('gallahad') print(c['a']) print(c['z']) >>3 >>0
Schlüsseländerung und -löschung
Wann Der Zählwert ist 0, das bedeutet nicht, dass das Element gelöscht wurde, verwenden Sie del
c=Counter('gallahad') c.update('chengzheng') print(c['e']) >>2 d=Counter('holloword') c.update(d) print(c['l']) >>4
c=Counter('gallahad') c.subtract('g') print(c['g']) >>0 d=Counter('all') c.subtract(d) print(c['l']) >>0
c=Counter('gallahad') print(c) c['a']=0 print(c) del c['l'] print(c) >>Counter({'a': 3, 'l': 2, 'g': 1, 'h': 1, 'd': 1}) >>Counter({'l': 2, 'g': 1, 'h': 1, 'd': 1, 'a': 0}) >>Counter({'g': 1, 'h': 1, 'd': 1, 'a': 0})
Andere Operationen:
c =Counter(a=4,b=2,c=0,d=-2) a =list(c.elements()) print(a) >>['a', 'a', 'a', 'a', 'b', 'b']
4:OrderdDict ist ein geordnetes Wörterbuch
Wenn Sie möchten, dass die Schlüssel in Ordnung sind, können Sie OrderdDict verwenden
c =Counter('xsgffikgkhgdyrduykkf') a =c.most_common(3) print(a)
Hinweis: OrderdDict wird in der Reihenfolge der Einfügung sortiert , nicht nach Schlüssel. Sortiert nach sich selbst.
sum(c.values()) # 所有计数的总数 c.clear() # 重置Counter对象,注意不是删除 list(c) # 将c中的键转为列表 set(c) # 将c中的键转为set dict(c) # 将c中的键值对转为字典 c.items() # 转为(elem, cnt)格式的列表 Counter(dict(list_of_pairs)) # 从(elem, cnt)格式的列表转换为Counter类对象 c.most_common()[:-n:-1] # 取出计数最少的n个元素 c += Counter() # 移除0和负值
Beispiel:
hat den folgenden Wertsatz [11,22,33,44,55,66,77 , 88,99,90...], speichern Sie alle Werte größer als 66 im ersten Schlüssel des Wörterbuchs und speichern Sie Werte kleiner als 66 im Wert des zweiten Schlüssels.
d=dict([('a',1),('b',2),('c',3)]) print(d) od=OrderedDict([('a',1),('b',2),('c',3)]) print(od) >>{'c': 3, 'b': 2, 'a': 1} >>OrderedDict([('a', 1), ('b', 2), ('c', 3)])
od=OrderedDict([('a',1),('c',3),('b',2)]) print(od) >>OrderedDict([('a', 1), ('c', 3), ('b', 2)])
Das obige ist der detaillierte Inhalt vonEine kurze Einführung in das Collection-Modul in Python (mit Beispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!