Sobes.tech
Junior — Middle

Какви различни вариации на речници съществуват в езика Python?

sobes.tech AI

Отговор от AI

В Python има няколко варианта на речници, които се различават по функционалност и характеристики на реализирането:

  1. Стандартен dict — основният тип речник, който съхранява двойки ключ-стойност. От Python 3.7 нататък dict запазва реда на вмъкване на елементите.

  2. collections.OrderedDict — речник от модула collections, който гарантира запазване на реда на вмъкване във всички версии на Python (преди 3.7 това беше важно, след 3.7 dict също е подреден).

  3. collections.defaultdict — речник с подразбираща се стойност за липсващи ключове. При достъп до несъществуващ ключ автоматично се създава стойност чрез подадената функция.

  4. collections.ChainMap — обединява няколко речника или отображения в един, позволявайки търсене на ключове последователно в няколко речника.

  5. types.MappingProxyType — предоставя неизменяем (само за четене) изглед към речник.

  6. dict с потребителски класове — можете да създавате свои класове, наследяващи dict, за разширяване на функционалността.

Пример за използване на defaultdict:

from collections import defaultdict

d = defaultdict(int)
d['a'] += 1
print(d)  # defaultdict(<class 'int'>, {'a': 1})