Какви различни вариации на речници съществуват в езика Python?
sobes.tech AI
Отговор от AI
В Python има няколко варианта на речници, които се различават по функционалност и характеристики на реализирането:
-
Стандартен dict — основният тип речник, който съхранява двойки ключ-стойност. От Python 3.7 нататък dict запазва реда на вмъкване на елементите.
-
collections.OrderedDict — речник от модула collections, който гарантира запазване на реда на вмъкване във всички версии на Python (преди 3.7 това беше важно, след 3.7 dict също е подреден).
-
collections.defaultdict — речник с подразбираща се стойност за липсващи ключове. При достъп до несъществуващ ключ автоматично се създава стойност чрез подадената функция.
-
collections.ChainMap — обединява няколко речника или отображения в един, позволявайки търсене на ключове последователно в няколко речника.
-
types.MappingProxyType — предоставя неизменяем (само за четене) изглед към речник.
-
dict с потребителски класове — можете да създавате свои класове, наследяващи dict, за разширяване на функционалността.
Пример за използване на defaultdict:
from collections import defaultdict
d = defaultdict(int)
d['a'] += 1
print(d) # defaultdict(<class 'int'>, {'a': 1})