Ключевые слова:
массив
список
индекс элемента
ввод и вывод массива
перебор элементов
генератор
Что такое массив? (учебник § 62)
Массив – это группа переменных одного типа, расположенных в памяти рядом (в соседних ячейках) и имеющих общее имя. Каждая ячейка в массиве имеет уникальный номер (индекс).
Индекс – это порядковый номер элемента, определяющий его положение в массиве. Таким образом, элементы массива идентифицируются с помощью имени массива и своих индексов.
Количество элементов массива называется размерностью массива.
Для работы с массивами нужно в первую очередь научиться:
выделять память нужного размера под массив;
записывать данные в нужную ячейку;
читать данные из ячейки массива.
В языке Python нет такой структуры как «массив». Вместо этого для хранения группы однотипных объектов используют списки (тип данных list).
Список в Python – это набор элементов, каждый из которых имеет свой номер (индекс). Нумерация всегда начинается с нуля (как в С-подобных языках), второй по счету элемент имеет номер 1 и т.д. В отличии от обычных массивов в большинстве языков программирования список – это динамическая структура, его размер можно изменять во время выполнения программы (удалять и добавлять элементы), при этом все операции по управлению памятью берёт на себя транслятор.
Список можно создать перечислением элементов через запятую в квадратных скобках, можно складывать.
В более сложных случаях используют генераторы списков – выражения, напоминающие цикл, с помощью которых заполняются элементы вновь созданного списка:
A = [I for i in range (10)]
Циклы for и in range (10) – перебирает все значения i от 0 до 9.
Такой же список можно получить, применив функцию list (создание списка) к данным, полученным с помощью функции range:
A = list (range (10))
Длина списка (количество элементов в нем) определяется с помощью функции len:
N = len (A).
Добавление и удаление элементов массива (учебник §62)
Метод – это подпрограмма (процедура или функция), связанная с каким-то объектом. Чтобы вызвать метод, используют точечную запись: название метода записывают через точку после названия объекта.
Для того чтобы вставить элемент в любое место массива, применяется другой метод – insert. В параметрах сначала указывается номер нового элемента в массиве, а затем его значение:
A = [1, 2, 3]
A. insert (1, 35) # получаем A = [1, 35, 2, 3]
Для удаления элемента с известным номером используется метод pop. Если номер не указан, удаляется последний элемент. Элементы массива можно удалять не только по номеру, но и по значению. Для этого используется метод remove.
Перебор элементов (учебник § 62)
Перебор элементов массива состоит в том, что в цикле просматривают все элементы и, если нужно, выполняют с каждым из них некоторую операцию. Переменная цикла изменяется от 0 до N – 1, где N – количество элементов массива, т.е. в диапазоне range (N):
for i in range (N):
A[i] += 1
В этом примере все элементы массива А увеличиваются на 1.
Во многих задачах требуется найти в массиве все элементы, удовлетворяющие заданному условию, и как-то их обрабатывать. Простейшая из таких задач – подсчет нужных элементов. Для решения этой задачи нужно ввести переменную-счетчик, начальное значение которой равно нулю. Далее в цикле просматриваем все элементы массива. Если для очередного элемента выполняется заданное условие, то увеличиваем счетчик на 1. На псевдокоде этот алгоритм выглядит так:
счётчик = 0
for x in A:
if условие выполняется для х:
счетчик += 1.
Суммирование элементов массива – это очень распространенная операция, поэтому для суммирования элементов списка в Python существует встроенная функция sum:
Print (sum (A)).
Прочитайте §62 стр. 203-210, ответьте на вопросы.