Thon Условные



бет28/38
Дата23.02.2020
өлшемі2,05 Mb.
#58878
1   ...   24   25   26   27   28   29   30   31   ...   38
Байланысты:
8-3 python


Массивы в языке Python

В языке Python нет такой структуры данных как «массив». Вместо этого для хранения группы однотипных не только од-нотипных!) объектов используют списки объекты типа list.



В отличие от массивов, список это динамическая структу-ра, его размер можно изменять во время выполнения програм-мы далять и добавлять элементы), при этом все операции по управлению памятью берёт на себя транслятор.

Далее, говоря о списках, мы будем использовать слово «массив», потому что чаще всего списки в языке Python исполь-зуются именно в роли массива, то есть для хранения однотип-ных значений.

Создание массива

Массив (список) можно создать перечислением элементов через запятую в квадратных скобках, например, так:

A = [1, 3, 4, 23, 5]

print( type(A) )

Такая программа выведет

'list'>

Это означает, что с точки зрения языка Python массив это объ-

ект типа list.

74 http://kpolyakov.spb.ru

05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин

Массив можно составить не только из чисел, но и из данных любых типов, например, символьных строк:

A = ["Вася","Петя","Коля","Маша","Даша"]

Массивы можно «складывать» с помощью знака +, напри-



мер, приведённый выше числовой массив можно было постро-ить сложением нескольких списков:

A = [1, 3] + [4, 23] + [5]

Сложение одинаковых массивов заменяется умножением *. Оператор

A = [0]*10

создаёт новый массив из 10 элементов (выделяет для них место в памяти) и заполняет их нулями.

Длина массива (количество элементов в нём) определяется с



помощью функции len:

N = len(A)

Таким образом, в любой момент массив «знает» свой размер.



Иногда размер массива хранят в отдельной переменной:

N = 10

A = [0]*N

В этом случае очень легко переделать программу для работы с массивом другого размера: достаточно просто изменить значе-ние N в первой строке программы.



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

Каждый элемент массива имеет свой номер (индекс). Ис-пользуя индекс, можно сразу обратиться к любому элементу массива. Поэтому говорят, что массив это структура данных с произвольным доступом.

Индекс это значение, которое указывает на конкретный эле-мент массива.

Нумерация элементов массивов символьных строк) в Python всегда начинается с нуля, второй по счёту элемент име-ет номер 1 и т.д.



Для того чтобы обратиться к элементу массива (прочитать или изменить его значение), нужно записать имя массива и в

75 http://kpolyakov.spb.ru


квадратных скобках A[2].
массив A
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин

индекс нужного элемента, например,


0

индексы

1 2 3 4

A[1] A[2] A[3] A[4]

0


обращение к элементу

Рис. 3.7.



Как вы думаете, что делают эти операторы:

A[2] ) 5

0


0


0


= A[1] + 2*A[2]

Индексом может быть также значение целой переменной или арифметического выражения, результат которого целое число. Например, для массива на Рис. 3.7 программа

i = 1

print( A[i], A[i+1], A[3*i+1], A[i-1] )

выведет то же самое, что и программа

print( A[1], A[2], A[4], A[0] )

Определите, что выведет этот фрагмент программы для массива на Рис. 3.7:

i = 1

A[2] = A[i] + 2*A[i-1] + A[3*i] print( A[2] + A[4] )

Найдите ошибки в этом фрагменте программы:

A = [1, 2, 3, 4, 5] x = 1

print( A[x-3] )

A[x+4] = A[x-1] + A[2*x]

В чём заключаются ошибки?

Выход за границы массива это обращение к элементу с ин-

76 http://kpolyakov.spb.ru


23

12

7

43

51

05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин



дексом, который не существует в массиве.

При выходе за границы массива программа обычно завер-шается аварийно.


Индексом может быть даже значение элемента массива. Например, запись A[A[2*i]] означает, что нужно взять значение A[2*i] при текущем значении переменной i и использовать его как индекс нужного элемента. Для массива

0 1 2 3 4



при i = 1 получаем

i = 1 2*i = 2 A[2*i] = A[2] = 0 A[A[2*i]] = A[0] = 4.

Определите, что выведет этот фрагмент программы для последнего рассмотренного массива:


Достарыңызбен бөлісу:
1   ...   24   25   26   27   28   29   30   31   ...   38




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет