0 знаков
17. Введение в раздел «Структуры данных в Python»
Кратко- В Python существуют четыре встроенные структуры данных: список, кортеж, словарь и множество.
- Переменные и типы в Python позволяют динамически присваивать значения переменным, что упрощает написание и понимание кода.
- В Python все является объектами, и любой объект можно присвоить переменной.
- Списки в Python похожи на массивы в других языках программирования и могут динамически изменяться по необходимости.
- Кортеж - это список, который нельзя изменить, и он подходит для случаев, когда порядок элементов важен.
- Словари в Python хранят коллекции в виде пар ключ/значение и являются динамическими и изменяемыми.
- Множество помогает удалить все повторяющиеся элементы и является неупорядоченной структурой.
Вступление
В предыдущем разделе мы познакомились с циклом for
и модулем random
. Теперь стоит более глубоко разобраться с тем, какие структуры есть в Python. Ведь программирование – это в основном работа с данными, а чтобы ими эффективнее манипулировать, необходимо их где-то хранить. Это «где-то» и есть структуры.
Сейчас мы поверхностно рассмотрим четыре структуры, а в следующих уроках разберемся с каждой более подробно. В предыдущих уроках вы поработали с числами и строками. Как вы помните, присвоение переменной значения выглядит так:
var1 = "Hello"
var1 = 12
print(var1)
Одной из особенностей переменных и типов в Python является возможность динамически присваивать значение переменной. Это сильно упрощает написание и понимание кода. В примере выше мы сначала в переменную var1
добавили строку, а затем число и вывели результат. Например, в типизированном языке С++ так делать нельзя: во-первых, мы сначала должны были объявить эти переменные. Во-вторых, в переменную строкового типа нельзя добавить число. Аналогичный код на С++ выглядел бы так (причем 12
уже является строкой, а не числом):
string var1 = "Hello";
var1 = "12";
cout << var1;
В Python все является объектами: числа, строки, функции, модули и т.д. Следовательно, любой объект можно присвоить переменной. Теперь самое время обсудить, как хранить эти объекты.
В Python есть четыре встроенных структуры данных, которые вы можете использовать для хранения данных: список, картеж, словарь и множество. Под «встроенными» понимается отсутствие необходимости подключать специальные модули.
Списки
В Python списки очень похожи на массивы в других языках программирования. Они так же нумеруются с нуля. Но в отличии от того же С++, количество элементов в списке Python’а может динамически изменяться по необходимости. Те, кто знакомы с С++, могли заметить аналогию с контейнером vector
из библиотеки STL. Если для вас все вышеназванные понятия в абзаце оказались новыми, не волнуйтесь, сейчас все будет понятно. Массив – это набор элементов, идентифицируемых по индексу. Рассмотрим пример:
people = ["Иван Иванов", "Петр Петров"]
В данном случае, массив называется people
и содержит два элемента. Сейчас мы не будем привязываться к синтаксису Python, пока только знакомимся с базовыми понятиями.
В уроке познакомимся со списками в Python, научимся их объявлять. Будут рассмотрены основные методы:
append
,pop
,extend
,remove
иinsert
.
Продолжим изучение списков и научимся изменять список на месте, узнаем о срезах (slice) и удалении лишних элементов.
В этом уроке вы узнаете про обратное индексирование, познакомитесь с методами
index
,clear
,reverse
,count
и другими.
В этом уроке узнаете о конкатенации (операция склеивания объектов с линейной структурой) и научитесь сортировать список с помощью метода
sort()
и функцииsorted()
.
Как мы уяснили, список являются изменяемой структурой, что не скажешь о следующей.
Словари
Если порядок не важен, то нам может помочь структура под названием «Словарь». Словари в Python хранят коллекции в виде пар ключ/значение. То есть каждому уникальному ключу соответствует значение (необязательно уникальное). Таких пар может быть произвольное количество. Словари, как и списки, являются динамическими и изменяемыми. Для тех, кто знаком с другими языками программирования, словарь в Python можно сравнить с ассоциативным массивом (в С++ на него похож контейнер map
). В уроках, посвященных словарям, мы научимся не только с ними работать, но и сортировать как по ключу, так и по значению.
Начнем знакомство со словарями в Python, научимся их объявлять, обращаться к элементам словаря. Познакомимся с методом
setdefault
.
Небольшой урок, из которого вы узнаете немного больше о списках и словарях.
Продолжим изучение словарей в Python. Изучим методы
items()
,keys()
иvalues()
.
В этом уроке глубже копнем в устройство словарей и познакомимся с особенностями сортировки словарей. Урок важен для понимания дальнейшего более сложного материала курса.
Разберемся с еще несколькими методами словарей. Узнаем как удалять и очищать словарь с помощью ключевого слова
del
. Поговорим о функцииlen()
в Python.
Множества
Следующей встроенной структурой является множество. Оно отлично помогает, когда необходимо удалить все повторяющиеся элементы. Множества могут изменяться динамически, как списки и словари. Множества является неупорядоченной структурой, как и словарь. В С++ на него похож контейнер set
.
В этом уроке начнем знакомство со множествами в Python, их особенностями и методами
union()
,difference()
,intersection()
.
Продолжим знакомство с другими методами множеств
add()
,remove()
,discard()
,pop()
иclear()
. Еще раз обговорим их особенности.
В уроке более подробно поговорим об отношениях между множествами и разберемся со следующими методами:
issubset()
,issuperset()
,update()
,intersection()
,intersection_update()
,difference()
,difference_update()
,symmetric_difference()
,symmetric_difference_update()
.
Кортежи
Кортеж – это тоже список, но его нельзя изменить. У многих возникает вопрос: «Зачем нужны неизменяемые списки?». Иногда случаются такие ситуации, когда нам необходимо быть уверенным в том, что список не изменится. Мы еще часто будем встречаться с картежами в дальнейшем.
Списки и кортежи отлично подходят для случаев, когда нам необходимо представить данные упорядоченно, т.е. когда порядок элементов важен.
В этом уроке познакомимся с кортежами в Python. Урок будет небольшим, так как многие моменты были разобраны ранее на примере других структур.
Продолжим более подробное изучение кортежей, обсудим какие методы и функции к ним применимы и насколько они являются «неизменяемой структурой».
Заключение
Обозреть все структуры было необходимо, чтобы вы смогли лучше структурировать свои знания в дальнейшем, когда будете более подробно знакомиться с ними.
Подведем краткий итог. Структуры облегчают жизнь программисту. Когда нам нужно создать коллекцию упорядоченных элементов, мы используем списки и кортежи. Если порядок элементов не важен и данные представляются как ключ/значение, то помогут словари. А если вы хотите избавиться от повторов, то выручат множества. Теперь вы готовы переходить к первому уроку раздела.
Тест
Похожие уроки Codebra
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ