Python Portal
53.1K subscribers
2.62K photos
426 videos
53 files
1.1K links
Всё самое интересное из мира Python

Сотрудничество, реклама: @devmangx

Менеджер: @Spiral_Yuri

РКН: https://clck.ru/3GMMF6
Download Telegram
Во многих приложениях требуется отображение строк в целые числа. В Python это обычно выглядит так:

d = {"apple": 100, "banana": 200, "cherry": 300}


Если ключей 1 миллион, это может потреблять много памяти — больше 100 байт на ключ.
Наш слон опубликовал новую библиотеку, которая использует около 9 байт на ключ. Да, всего 9 байт. Использование выглядит так:

from fastconstmap import ConstMap

d = {"apple": 100, "banana": 200, "cherry": 300}
m = ConstMap(d)

m["apple"] # -> 100
m.get_many(["banana", "cherry"]) # -> [200, 300]


Она может быть значительно быстрее (например, до 2 раз в некоторых случаях), чем стандартный словарь. Также её можно сериализовать и десериализовать на диск или в сеть для удобного повторного использования.

https://pypi.org/project/fastconstmap/
гитхаб: https://github.com/lemire/fastconstmap

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83