Работа с элементами массива
Большая часть пользы от массивов определяется тем фактом, что к его элементам можно обращаться индивидуально.
Способ, который позволяет это делать, заключается в использовании индекса для нумерации элементов.
Индекс - это значение, которое указывает на конкретный элемент массива.
Для обращения к элементу массива необходимо указать имя массива и в квадратных скобках его индекс. Например, записать в элемент массива с индексом 1 значение 100 можно таким образом: A[1] = 100
.
Надо запомнить!
НУМЕРАЦИЯ МАССИВОВ В PYTHON НАЧИНАЕТСЯ С НУЛЯ!
(Это является обязательным условием - вы должны начинать с нуля. Это особенно важно запомнить.)
Пример
x = (A[3] + 5) * A[1] # прочитать значения A[3] и A[1]
A[0] = x + 6 # записать новое значение в A[0]
Разберем программу работы с элементами массива.
i = 1
A = [0] * 5 # создаем массив из 5 элементов
A[0] = 23 # в каждый из 5 элементов массива (индексы от 0 до 4)
A[1] = 12 # записываем определенное значение
A[2] = 7
A[3] = 43
A[4] = 51
A[2] = A[i] + 2*A[i-1] + A[2*i] # изменим значение элемента с индексом 2, на результат выражения
# т.к i=1, то подставляя значение переменной i в выражение получим
# следующее выражение A[2] = A[1] + 2*A[0] + A[2];
print(A[2] + A[4])
В результате выполнения данной программы на экране появится значение суммы элементов массива с индексом 2 и с индексом 4 равное 116. Как видно из примера, мы можем обращаться к любому элементу массива. А также вычислять необходимый номер элемента по различным формулам (например, как в программе A[i-1]
или A[2*i]
). В данных случаях индексы элементов будут вычислены и зависят от значения i.
В Python для массивов можно использовать отрицательные значения индексов, при этом отсчет ведется с конца массива. Например:
A[-1] - последний элемент массива
A[-2] - предпоследний элемент
и т.д.
Разберем программу.
N = 5
A = [0] * N
x = 1
print(A[x - 3]) # обращение к элементу A[-2]
print(A[x - 3 + len(A)]) # обращаемся к элементу A[3]
# это тот же самый элемент, что и A[-2]
A[x + 4] = A[x] + A[2 * (x + 1)] # после подстановки х в выражения и вычислений
# получаем следующую строку A[5] = A[1] + A[4]
# A[5] такого элемента не существует
# ошибка - выход за границы массива
Так как массив объявлен из 5 элементов, значит элементы будут иметь нумерацию от
-5
до
4
. Видим, что программа в 6-й строке обращается к несуществующему элементу:
A[5]
.
Получается, что программа вышла за границы массива.
Выход за границы массива - это обращение к элементу с индексом, который не существует в массиве.
В таких случая программа обычно завершается аварийно с ошибкой
run-time error.