Что такое структура данных в языке программирования 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( ).
Словари – формируются при помощи фигурных скобок { } или функцией dict( ). Являются изменяемым объектом и включают себя попарно набор ключей и значений.
Кортежи – инициализируются при помощи обычных скобок ( ), еще можно использовать функцию tuple( ). Их можно назвать неизменяемым списком. После создания кортежа нельзя изменять его значения.
Множество – создание происходит с использованием фигурных скобок, как и в случае со словарем или применив функцию set( ). Множество содержит элементы, которые не повторяются и находятся в случайном порядке. Пустое множество создать нельзя. Множество удобно применять для того, чтобы удалить повторяющиеся элементы.
Как и где изучать Python самостоятельно
Изучать типы и структуры данных в Python лучше постепенно, переходя от простых структур данных и работы с ними к более сложным конструкциям и алгоритмам. Можно найти достаточно много бесплатных курсов в интернете, например, на ресурсе Stepik и многих других.
Есть много книг и самоучителей по программированию на языке Python, где подробно разбираются структуры данных, типы данных с примерами и задачами для самостоятельного выполнения.
Также на платформе ютуб находится множество видеороликов и обучающих материалов по данной теме. Например, МФТИ выкладывает лекции по программированию на Python в свободном доступе на YouTube.