Структуры данных в Python

Что такое структура данных в языке программирования Python

Структуры данных в Python служат для написания программ, которые могут быть как простыми, так и достаточно сложными. Они бывают линейные, нелинейные и специфические.

Встроенные структуры данных в Python

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

Также структуры данных в Питоне классифицируются как базовые, встроенные, динамические, упорядоченные, простейшие, собственные, общие, связанные.

Основные типы данных в Python это числа целые, с плавающей точкой, комплексные, строки, булев тип, тип none, исключения, байты, файлы, множества, функции, кортежи, словари, списки, строки.

Базовые структуры данных Python

К ним относятся:

Целые числа

Над ними можно производить операции сложения (a + b), вычитания (a — b), деления (a / b) – в этом случае результат может стать вещественным если не делится нацело, умножения (a * b). Есть операция остаток от деления (a % b), например, если разделить 5 на 2 (5 % 2 = 1), то остаток от деления будет 1.

Операции над целыми числами

Остаток от деления записывается при помощи знака процент %. При помощи двойного слэша ( // ) можно выполнить деление нацело, при этом отбрасывается дробная часть. Например, если разделить нацело 5 на 2, то мы получим 2 (5 // 2 = 2), остаток 1 не будет учитываться.

Числа можно сравнивать. Для этого используются сравнения больше ( > ), меньше ( < ), больше или равно ( >= ), меньше или равно ( <= ), равенства ( == ) – записывается как двойное равенство, не равно ( != ) – записывается как восклицательный знак и равно. Результатом выполнения этих операций является истина или ложь (True) или (False).

Операции сравнения чисел

Также можно делать тройное сравнение, например, (2 < 4 < 6)  будет «True» — истина, (5 < 2 < 7) даст результат ложь «False». При помощи тройного сравнения можно проверить попадает ли в нужный диапазон

Вещественные типы данных

Это числа с дробной частью или еще они называются с плавающей точкой. Над ним можно производить все действия применимые к целым. Но операции над вещественными числами происходят с округлением, что может привести к ошибкам. Если сложить (0,3 + 0,3 + 0,3 +0,1), то получим 0.9999999999999999.

Ошибка сложения вещественных чисел

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

Можно возводить в дробную степень, что фактически является извлечением корня. Вещественное число можно конвертировать в целое ( int(41.3) = 41), а целое можно привести к вещественному ( float(41) = 41.0 ).

Возведение вещественного числа в степень

Для числовых данных приоритетным является выражение, заключенное в скобки. Далее по приоритетам идет возведение в степень, затем умножение и деление, сложение и вычитание, унарный минус.

Булевы значения

К ним применимы операции булевой алгебры. К ним относятся:

—  Логическое сложение – дизъюнкция («или» — на английском языке «or»). В этом случае если есть хотя бы одно «True», то выражение будет истинно

Булевы значения

— Логическое умножение – конъюнкция («и» — «and»). Выражение истинно, когда все его элементы одинаковы.

— Логическое отрицание – инверсия («не» — «not»). Отрицание меняет истину на ложь, а ложь на истину.

Встроенные структуры данных Python

Списки – создаются при помощи квадратных скобок [ ]. В списках находятся значения, которые можно изменять. Это могут быть любые значения: числа, символы, строки и т.д. Также можно создать список при помощи функции list( ).

Встроенные структуры данных в Python

Словари – формируются при помощи фигурных скобок { } или функцией dict( ). Являются изменяемым объектом и включают себя попарно набор ключей и значений.   

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

Множество – создание происходит с использованием фигурных скобок, как и в случае со словарем или применив функцию set( ). Множество содержит элементы, которые не повторяются и находятся в случайном порядке. Пустое множество создать нельзя. Множество удобно применять для того, чтобы удалить повторяющиеся элементы.

Как и где изучать Python самостоятельно

Изучать типы и структуры данных в Python лучше постепенно, переходя от простых структур данных и работы с ними к более сложным конструкциям и алгоритмам. Можно найти достаточно много бесплатных курсов в интернете, например, на ресурсе Stepik и многих других.

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

Также на платформе ютуб находится множество видеороликов и обучающих материалов по данной теме. Например, МФТИ выкладывает лекции по программированию на Python в свободном доступе на YouTube.

Алгоритмы на Python 3. Лекция №1