Почему в Python элементы списков нумеруются начиная с 0?
Нумерация массивов в С с 0 логична в виду реализации массивов в С и существования в нем арифметики указателей. Но в Python арифметики указателей нет. Зачем тогда понадобилось нумеровать списки с 0?
см. комментарий longclaps к ответу Юрия. Исторически, Фортран (современный диалект которого и ныне здравствует в своей узкой нише, сохраняя анахронизмы прошлого в целях обеспечения совместимости), и Pascal/Delphi. Последний еще не появился к моменту создания ранних версий питона.
DevMan, нет конечно, но range бы создавал интервал, а не полуинтервал, и срезы бы работали с интервалами, а не полуинтервалами. Для Python как такового, разницы было бы не много. Но на базе Python построили SciPy в котором есть собственная реализация многомерных массивов. Индексирование и срезы в нем устроены также как и в Python, что не удивительно с одной стороны, а с другой не логично, поскольку при вычислении индексов среза многомерного массива, "левые" и "правые" границы вдоль каждого из измерений приходится вычислять по-разному.
pfemidi, я про принятие индексации с нуля. В то время, когда Pascal был учебным языком, нумеровали с единицы. Можно учебники поднять. Скажите что-нибудь вроде "недалекие учителя" и "плохие учебники", напишу что-нибудь про программистов на Delphi.
lz961, в Pascal насколько я знаю всегда можно было нумеровать начиная с любого индекса. Ну а то что учили с единицы (что в принципе неправильно) -- видать просто ученикам так привычнее было. Хотя и получали они сразу же неправильные знания тем самым потому как счёт всегда начинается с нуля, а не с единицы.
А про программистов на Delphi можете говорить что угодно, они хотя бы программисты, а не "программисты" в отличии от HTML, PHP и 1С.
не только в змее, но и во множестве других языков (в том числе и без указателей), нумерация начинается с нуля.
такое себе правило, следование принципу наименьшей неожиданности.
Спасибо на добром слове. Вот только те, кто делали R и Julia, похоже, понимали кем, как и для чего будут использоваться их детища, и ориентировались на это.