Про Python вопрос

Изучаю тут последние веяния в преподавании так называемой информатики. Например, в небезызвестной 179 школе Денис Кириенко использует для обучения матшкольников Python.

http://server.179.ru/wiki/?page=DenisKirienko/Python

В принципе, ничего сверхестественного в этом нет — задания не сильно отличаются от того, что обычно делается с использованием Pascal. Более того, какие-то специфические возможности Python используются крайне редко. Но вот почитал я «сопроводительные материалы», подумал маленько, погуглил — но так и не понял один очень простой вопрос. На размышления меня навела вот эта крохотная оговорка:

можно использовать структуру данных, называемую в Питоне список (в большинстве же языков программирования используется другой термин “массив”)

С высоты своих нынешних знаний я могу сказать, что массив «в большинстве языков программирования» и список — это совершенно разные вещи, которые смешивать не стоит, особенно если в последующих задачах речь заходит о разных способах сортировки. Но как обстоит дело в Python — я не знаю. Может быть, тамошний «список» настолько хорош, что и время доступа к элементам по индексу там от этого индекса не зависит?

В принципе, это можно установить простым экспериментом — но мне лень ставить Python и экспериментировать с ним, так что спрошу питонознатцев — у вас там настоящие списки, с линейно растущим временем доступа по индексу, или же гибриды списков и массивов?

Про Python вопрос: 1 комментарий

  1. Списки в Питоне хранятся как массивы, то есть последовательно. И доступ к элементам списка — это смещение на заданный индекс от начала списка.

    Списками их все-таки называют за то, что они поддерживают операции изменения размера, добавления и удаления элементов в середину списка. Понятно, что это все делается за линейное время в худшем случае, но тем не менее массивам в классических языках программирования такие операции не свойственны. Поэтому все-таки и говорится, что это — списки (тем более, что и соответствующий тип данных называется list), но их аналогами в классических языках все-таки скорее являются массивы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *