Хранение данных
Предположим, что вы разработали компьютерную игру под названием "Враждебный пользователь", в которой игроки состязаются с замысловатым и недружественным компьютерным интерфейсом. Теперь вам необходимо написать программу, которая отслеживает ежемесячные объемы продаж этой игры в течение пятилетнего периода. Или, скажем, вам нужно провести инвентаризацию торговых карт героев-хакеров.
Очень скоро вы придете к выводу, что для накопления и обработки информации вам требуется нечто большее, чем простые базовые типы данных.
Списки (массивы)
Для того чтобы было удобно работать с большим количеством данных, группе ячеек дают общее имя. Такую группу ячеек называют
массивом.
Массив – это группа ячеек памяти одинакового типа, расположенных рядом и имеющих общее имя. Каждая ячейка в группе имеет уникальный номер.
При работе с массивами надо
научиться решать три задачи:
• выделять память нужного размера под массив;
• записывать данные в нужную ячейку;
• читать данные из ячейки.
Массивы в языке Python
В языке Python как таковых массивов нет. Вместо этого для хранения группы однотипных (но и не только однотипных) объектов используют списки - объекты типа
list
. Отличие списков от массивов заключается в том, что список - это динамическая структура, размер которого можно изменять во время выполнения программы (удалять, добавлять элементы) не задумываясь над операциями по управлению памятью (это делает транслятор).
В дальнейшем, разбирая работу со списками, будем использовать слово "массив", так как чаще всего списки используются именно в роли массива (хранят однотипные данные).
Создание массива
При создании массива в памяти выделяется место (определенное число ячеек).
1) Массивы можно создать простым перечислением элементов:
A = [1, 4, 7, 12, 5]
print (type(A))
Программа выведет
<class 'list'>
То есть массив - это объект типа
list
(в переводе с англ.
список
).
2) Массивы можно составить из данных любых типов - целых или вещественных чисел, символьных строк
A = ["Вася", "Петя", "Федя"]
Некоторые способы работы с массивами
3) Массивы можно "складывать".
A = [1, 5] + [25, 7]
4) Сложение одинаковых массивов можно заменить умножением. Таким образом, легко создать массив, заполненный одинаковыми значениями, например:
A = [0]*10 # создали массив из 10 элементов и заполнили его нулями
5) Массив всегда "знает" свой размер. Для определения размера массива используется функция
len()
. Часто размер массива хранят в отдельной переменной, чтобы была возможность легко изменить программу для работы с другим размером массива.
Пример
N = 10 # в переменной N храним размер массива
A = [0] * N # создаем массив размера N
print(len(A)) # выводим размер массива
Размер массива можно задавать с клавиатуры.