Внимание! На этой странице вы найдете материал урока из архивного курса по Python. Курс был написан в 2024 году и по-прежнему актуален для начинающих разработчиков.
Теоретический материал сохранен в исходном виде, а практические задания с автоматической проверкой вынесены в отдельные интенсивы и задания.
Полный список уроков доступен по тегу Архивный курс по 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 по тегу Python.
