Хеш таблици
Тази хитринка ще промени живота ви.
Според уикипедия "Хеш таблицата е структура от данни, съдържаща ключ и данни, която се характеризира с директен достъп до елементите, независимо от типа им. Елементите ѝ, подобно тези на други структури от данни използвани за търсене, се състоят от ключ и данни. Ключът е уникален за разлика от данните - не може да съществуват два елемента с един и същи ключ". Хеш таблица в английската Wikipedia
В Python най-често използваната хеш таблица е dict. Важен момент в dict е, че за ключ на таблицата може да се използва всеки тип от данни който може да бъде хеширан. На практика хеширането е съпоставянето на някакви данни (каквито и да са) с число. Например:
>>> hash("Животът на Брайън")
1551610055158196988
Хеширащите алгоритми могат да съпоставят число към данни, които са стотици гигабайти, обаче числото е винаги определен размер (например 32-битово). Това означава, че може да имате "само" 2^32
числа които можете да използвате за хеширане на безкраен брой данни. Това е проблем който хакерите много обичат.
Други речници
Както вече ви научихме, редът на елементите в dict
не се пази. Ако някога имате нужда от подредена хеш таблица можете да използвате collections.OrderedDict.
Друг удобен подклас на dict
e collections.defaultdict.