Искать
Вы превысили запрос на
0 знаков

17. Введение в раздел «Структуры данных в Python»

Не пройден
0
0

Кратко

- В Python существуют четыре встроенные структуры данных: список, кортеж, словарь и множество.

- Переменные и типы в Python позволяют динамически присваивать значения переменным, что упрощает написание и понимание кода.

- В Python все является объектами, и любой объект можно присвоить переменной.

- Списки в Python похожи на массивы в других языках программирования и могут динамически изменяться по необходимости.

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

- Словари в Python хранят коллекции в виде пар ключ/значение и являются динамическими и изменяемыми.

- Множество помогает удалить все повторяющиеся элементы и является неупорядоченной структурой.

Вступление

В предыдущем разделе мы познакомились с циклом for и модулем random. Теперь стоит более глубоко разобраться с тем, какие структуры есть в Python. Ведь программирование – это в основном работа с данными, а чтобы ими эффективнее манипулировать, необходимо их где-то хранить. Это «где-то» и есть структуры.

Сейчас мы поверхностно рассмотрим четыре структуры, а в следующих уроках разберемся с каждой более подробно. В предыдущих уроках вы поработали с числами и строками. Как вы помните, присвоение переменной значения выглядит так:

Пример (python)
var1 = "Hello"  
var1 = 12  
print(var1) 

Одной из особенностей переменных и типов в Python является возможность динамически присваивать значение переменной. Это сильно упрощает написание и понимание кода. В примере выше мы сначала в переменную var1 добавили строку, а затем число и вывели результат. Например, в типизированном языке С++ так делать нельзя: во-первых, мы сначала должны были объявить эти переменные. Во-вторых, в переменную строкового типа нельзя добавить число. Аналогичный код на С++ выглядел бы так (причем 12 уже является строкой, а не числом):

Пример (python)
string var1 = "Hello";  
var1 = "12";  
cout << var1; 

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

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

Списки

В Python списки очень похожи на массивы в других языках программирования. Они так же нумеруются с нуля. Но в отличии от того же С++, количество элементов в списке Python’а может динамически изменяться по необходимости. Те, кто знакомы с С++, могли заметить аналогию с контейнером vector из библиотеки STL. Если для вас все вышеназванные понятия в абзаце оказались новыми, не волнуйтесь, сейчас все будет понятно. Массив – это набор элементов, идентифицируемых по индексу. Рассмотрим пример:

Пример (python)
people = ["Иван Иванов", "Петр Петров"] 

В данном случае, массив называется people и содержит два элемента. Сейчас мы не будем привязываться к синтаксису Python, пока только знакомимся с базовыми понятиями.

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

Словари

Если порядок не важен, то нам может помочь структура под названием «Словарь». Словари в Python хранят коллекции в виде пар ключ/значение. То есть каждому уникальному ключу соответствует значение (необязательно уникальное). Таких пар может быть произвольное количество. Словари, как и списки, являются динамическими и изменяемыми. Для тех, кто знаком с другими языками программирования, словарь в Python можно сравнить с ассоциативным массивом (в С++ на него похож контейнер map). В уроках, посвященных словарям, мы научимся не только с ними работать, но и сортировать как по ключу, так и по значению.

Множества

Следующей встроенной структурой является множество. Оно отлично помогает, когда необходимо удалить все повторяющиеся элементы. Множества могут изменяться динамически, как списки и словари. Множества является неупорядоченной структурой, как и словарь. В С++ на него похож контейнер set.

Кортежи

Кортеж – это тоже список, но его нельзя изменить. У многих возникает вопрос: «Зачем нужны неизменяемые списки?». Иногда случаются такие ситуации, когда нам необходимо быть уверенным в том, что список не изменится. Мы еще часто будем встречаться с картежами в дальнейшем.

Списки и кортежи отлично подходят для случаев, когда нам необходимо представить данные упорядоченно, т.е. когда порядок элементов важен.

Заключение

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

Подведем краткий итог. Структуры облегчают жизнь программисту. Когда нам нужно создать коллекцию упорядоченных элементов, мы используем списки и кортежи. Если порядок элементов не важен и данные представляются как ключ/значение, то помогут словари. А если вы хотите избавиться от повторов, то выручат множества. Теперь вы готовы переходить к первому уроку раздела.

Тест

Две секундочки...

Похожие уроки Codebra

@codebra_official
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Типы данных в PythonЗнакомство с Python
Погружение в PythonЗнакомство с Python
Обработка исключений (try/except) в PythonЗнакомство с Python
Итоги раздела «Структуры данных в Python»Знакомство с Python
Итоги раздела «Самые основы Python»Знакомство с Python
Пользовательские функции в PHPКурс по PHP
Переменные, комментарии и типы данных в PHPКурс по PHP
Основы функций в PythonЗнакомство с Python
Списки в PythonЗнакомство с Python
Впервые на сайте Codebra?

Извините за это всплывающее окно, меня они тоже раздражают.

Образовательный ресурс codebra.ru полностью посвящен программированию и компьютерной безопасности. Все курсы и уроки находятся на главной странице. Ради интереса можете посмотреть на содержимое курсов по Пентесту Active Directory, Python, HTML и CSS, JavaScript, C++ и другие, размещенные на главной странице.

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

Удачи в обучении!

Закрыть окно