Главная страница

книга заданий пайтон. книга практических заданий, pyton. Сборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python


Скачать 2.24 Mb.
НазваниеСборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python
Анкоркнига заданий пайтон
Дата02.10.2022
Размер2.24 Mb.
Формат файлаdocx
Имя файлакнига практических заданий, pyton.docx
ТипСборник упражнений
#709959
страница31 из 69
1   ...   27   28   29   30   31   32   33   34   ...   69

Глава 6 Словари


Между списками и словарями много общего. Как и списки, словари (dictionary) позволяют хранить большое количество однородной информации в одной переменной. Каждый элемент списка обладает собственным уникальным целочисленным индексом, и эти индексы располагаются по возрастанию, начиная с нуля. Так же и в словарях каждое значение (value) строго ассоциировано с ключом (key), при этом ключи обладают гораздо большей гибкостью по сравнению с индексами списков. Ключи словарей могут быть как целочисленными, так и числами с плавающей запятой или строками. Еще стоит отметить, что числовые ключи в словарях совсем не обязательно должны начинаться с нуля и располагаться в строгой последовательности по возрастанию. Будучи строковыми, ключи могут содержать любую текстовую информацию, включая пустые строки. Единственное условие, объединяющее индексы в списках с ключами в словарях, состоит в их уникальности.

Каждый ключ в словаре должен быть ассоциирован ровно с одним значением, которое может быть целочисленным, числом с плавающей запятой, строкой или булевым значением. Кроме того, значение само по себе может представлять список или словарь. Ключ словаря с ассоциированным с ним значением часто упоминается как пара ключ­значение (key-value pair). Хотя ключи в словаре должны быть строго уникальными, подобное ограничение не распространяется на его значения. Следовательно, одинаковые значения могут быть ассоциированы с разными ключами одного и того же словаря.

Начиная с версии Python 3.7 все пары ключ-значение в словарях хранятся в том порядке, в котором были добавлены. В более ранних версиях Python такая зависимость не была гарантирована. Каждая новая пара ключ-значение при добавлении в словарь отправляется в его конец. Механизма для того, чтобы вставить новую пару в середину словаря, просто не существует. Удаление любой пары ключ-значение не оказывает влияния на порядок следования оставшихся элементов в словаре.

Переменная, хранящая словарь, создается так же, как и остальные, – при помощи оператора присваивания. Пустой словарь, не содержащий пар ключ-значение, может быть объявлен как сочетание открывающей и закрывающей фигурных скобок – {}. Если вам необходимо создать непустой словарь, перечислите в фигурных скобках пары ключ-значение через запятую. При этом сами ключи и ассоциированные с ними значения должны разделяться двоеточием. В следующем фрагменте кода создается словарь с тремя парами ключ-значение, где ключ – это строка, а значение – число с плавающей запятой. Каждая пара в этом словаре представляет конкретную математическую константу. После создания словаря можно вывести его на экран при помощи стандартной функции print.

constants = {"pi": 3.14, "e": 2.71, "root 2": 1.41} print(constants)

6.1. чтение, доБавление и изменение словарей


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

Изменение значения в словаре и добавление новой пары ключ-значение выполняются при помощи оператора присваивания. При этом имя словаря с ключом в квадратных скобках помещается слева от знака равенства, а ассоциированное с этим ключом значение – справа. Если элемент с таким ключом уже существует в словаре, его значение будет перезаписано. В противном случае будет создана новая пара ключ-значение. Рассмотрим эти операции на примере.

# Создадим словарь с двумя парами ключ–значение results = {"pass": 0, "fail": 0}

# Добавим третью пару ключ–значение results["withdrawal"] = 1

# Обновим значения двух ключей в словаре results["pass"] = 3 results["fail"] = results["fail"] + 1

# Выведем значения, ассоциированные с ключами fail, pass и withdrawal соответственно print(results["fail"])

print(results["pass"]) print(results["withdrawal"])

При запуске данной программы будет создан словарь results с двумя ключами: pass и fail. Значения, ассоциированные с этими ключами, мы сделали нулевыми. Далее словарь пополняется еще одной парой с ключом withdrawal и значением 1. После этого значение, ассоциированное с ключом pass, меняется на 3 при помощи оператора присваивания. В следующей строке происходит обращение к значению ключа fail, к которому прибавляется единица, и новое значение сохраняется в паре с тем же ключом fail, заменяя предыдущее значение. При отображении значений первой будет выведена единица (значение, ассоциированное с ключом fail), затем тройка, соответствующая ключу pass, и снова единица – на этот раз представляющая значение ключа withdrawal.
1   ...   27   28   29   30   31   32   33   34   ...   69


написать администратору сайта