Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как работает механизм -size при работе с массивами?

ФермаКактусов Высший разум (210408), закрыт 2 недели назад
 sumbs[size] указывает на первый элемент
sumbs[-size] указывает на последний
Лучший ответ
Fleur_des Знаток (307) 1 месяц назад
sumbs[size] указывает на элемент по индексу size в списке.
sumbs[-size] указывает на элемент с конца списка, который находится на позиции size от последнего элемента.
Отрицательные индексы не меняют порядок элементов, а просто ссылаются на их позиции с конца.
Fleur_desЗнаток (307) 1 месяц назад
Если в списке sumbs = [10, 20, 30, 40, 50]:
sumbs[0] даст 10 — первый элемент.
sumbs[2] даст 30 — третий элемент.
sumbs[-1] даст 50 — последний элемент.
sumbs[-3] даст 30 — третий элемент с конца
ФермаКактусовВысший разум (210408) 1 месяц назад
откуда тогда указатель знает где конец если размер массива не получен?
ФермаКактусов, если это C или C++, то ниоткуда, и конструкция array[-size] - это попытка получить доступ к какому-то совершенно левому адресу. В зависимости от разрядности исполняющей среды и типа данных size, это может быть адрес или на (4 гигабайта - size) впереди, либо на size позади начала массива.
Fleur_desЗнаток (307) 1 месяц назад
Python всегда знает размер списка или массива, и когда вы используете отрицательные индексы, он автоматически вычисляет нужный индекс, опираясь на текущий размер структуры данных. Вам не нужно вручную вычислять размер массива для работы с отрицательными индексами
Остальные ответы
Похожие вопросы