Массивы. Основы




Обращение к элементу массива

Большая часть пользы от массивов определяется тем фактом, что к его элементам можно обращаться индивидуально.
Способ, который позволяет это делать, заключается в использовании индекса для нумерации элементов.
Индекс - это значение, которое указывает на конкретный элемент массива

ЗАПОМНИТЕ!
НУМЕРАЦИЯ МАССИВОВ В PYTHON НАЧИНАЕТСЯ С НУЛЯ!

(Это является обязательным — вы должны начинать с нуля. Это особенно важно запомнить)

Примеры обращения к массиву A:
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[i] + 2*A[0] + A[2];
print (A[2] + A[4])

В результате выполнения данной программы на экране появится значение элемента массива с индексом 2 равное 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

Попробуйте самостоятельно поработать с элементами массива.
Выполните задание

 
 

Task
В строках с 4 по 7, присвойте элементам массива с индексами от 1 до 4 значение, равное удвоенному значению предыдущего элемента массива. 
В данной задаче нельзя присваивать конкретные числа, необходимо обращаться именно к предыдущему элементу массива по имени и индексу
То есть, запись A[1] = 46 будет считать неверной
Prohibited operators:46
Python
1
N = 5             
2
A = [0] * 5                  
3
A[0] = 23           
4
5
6
7
8
for i in range (len(A)) :             
9
    print (A[i], end=" ")          
Your last submission is saved in the editor window.
     

Results:

All results: