Какие структуры данных используют стандартные контейнеры python
Где можно узнать о том какими структурами данных представлены контейнеры: string, list, tuple, set, dict или какую асимптотику обещает стандарт python для этих контейнеров?
Я думаю это довольно важно, если скрипт работает с большим объемом данных и знать какие операции дорогостоящие, а какие нет довольно полезно знать.
Ответы (2 шт):
Вот тут сложности https://wiki.python.org/moin/TimeComplexity.
Какие именно структуры данных используются не оговаривается. Как вариант, посмотреть популярную C-реализацию https://github.com/python/cpython или ту, которую вы используете.
Вот здесь по ссылке: ЖМИ - затраты памяти на стандартный список.
Для экономии памяти лучше использовать tuple, или если тип числовой - массив библиотеки numpy.
Он (этот массив) - при указании хранить данные по столбцам - экономичный и совпадает со старым добрым фортрановским способом хранения данных. То есть экономнее некуда ).