Программирование на Питоне

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

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

Поскольку цикл for — это инструмент, специально разработанный для повторения последовательностей, мы можем выразить это определение следующим образом: последовательность — это данные, которые могут быть просмотрены с помощью дляцикла.

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

Изменяемые данные можно свободно обновлять в любое время — мы называем такую ​​операцию на месте.

In situ – латинская фраза, которая буквально переводится как на месте. Например, следующая инструкция изменяет данные на месте:

Тип данных, о котором мы хотим вам сейчас рассказать, — это tuple. Кортеж — это неизменяемый тип последовательности. Он может вести себя как список, но его нельзя изменять на месте.

Представьте, что список можно только назначить и прочитать. Вы не сможете ни добавить к нему элемент, ни удалить из него какой-либо элемент. Это означает, что добавление элемента в конец списка потребует воссоздания списка с нуля.

Что такое кортеж?

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

Если вы хотите создать кортеж из одного элемента, вы должны принять во внимание тот факт, что по причинам синтаксиса (кортеж должен отличаться от обычного одиночного значения) вы должны заканчиваться значение через запятую.

Что еще кортежи могут сделать для вас?

  • функция len() принимает кортежи и возвращает количество элементов, содержащихся внутри;
  • оператор + может объединять кортежи вместе (мы уже показывали вам это)
  • оператор * может умножать кортежи, как и списки;
  • операторы in и not in работают так же, как и в списках.

Что такое словарь?

Словарь — это еще одна структура данных Python. Это не тип последовательности (но его можно легко адаптировать для обработки последовательности) и он изменяемый.

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

Вы ничего удивительного не заметили? Порядок печатаемых пар отличается от исходного задания. Что это обозначает?

Во-первых, это подтверждение того, что словари не являются списками — они не сохраняют порядок своих данных, так как порядок совершенно бессмысленен (в отличие от настоящих, бумажных словарей). Порядок, в котором словарь хранит свои данные, полностью находится вне вашего контроля и ваших ожиданий. Это нормально.

ПРИМЕЧАНИЕ. В Python 3.6x словари по умолчанию стали упорядоченными коллекциями. Ваши результаты могут различаться в зависимости от используемой версии Python.

Ключи чувствительны к регистру: 'Suzy' отличается от 'suzy'.

Можно ли просматривать словари с помощью цикла for, например списки или кортежи?

Нет и да.

Нет, потому что словарь не является типом последовательности — цикл for с ним бесполезен.

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

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

Как пользоваться словарем: изменение и добавление значений