Добавить в корзинуПозвонить
Найти в Дзене

День 121. Словари. Преобразование списков и кортежей в словарь. Получение и изменение элементов . Удаление.

Python . Словари. Словарь (dictionary) в языке Python хранит коллекцию элементов, где каждый элемент имеет уникальный ключ и ассоциированное с ним некоторое значение. Определение словаря имеет следующий синтаксис: dictionary = {ключ1:значение1, ключ2:значение2, …} В фигурных скобках через запятую определяется последовательность элементов, где для каждого элемента сначала указывается ключ и через двоеточие его значение. Необязательно ключи и значения могут быть однотипными. Также можно определить пустой словарь. Пример: Python . Преобразование списков и кортежей в словарь. Словарь можно преобразовать в список с помощью встроенной функции dict(). Для этого список должен хранить набор вложенных списков. Каждый вложенный список должен состоять из двух элементов – при конвертации в словарь первый элемент станет ключом, а второй – значением. Подобным образом можно преобразовать в словарь двухмерные кортежи, которые в свою очередь должны содержать кортежи из двух элементов. Python . Получение

Python . Словари.

Словарь (dictionary) в языке Python хранит коллекцию элементов, где каждый элемент имеет уникальный ключ и ассоциированное с ним некоторое значение. Определение словаря имеет следующий синтаксис:

dictionary = {ключ1:значение1, ключ2:значение2, …}

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

-2

Python . Преобразование списков и кортежей в словарь.

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

-3

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

-4

Python . Получение и изменение элементов .

Для обращения к элементам словаря после его названия в квадратных скобках указывается ключ элемента:

dictionary[ключ]

Например, получим и изменим элементы в словаре:

-5

Если при установки значения элемента с таким ключом в словаре не окажется, то произойдет его добавление. Но если мы попробуем получить значение с ключом, которого нет в словаре, то Python сгенерирует ошибку KeyError. И чтобы предупредить эту ситуацию перед обращением к элементу мы можем проверять наличие ключа в словаре с помощью выражения ключ in словарь. Если ключ имеется в словаре, то данное выражение возвращает True:

-6

Также для получения элементов можно использовать метод get, который имеет две формы:

· get(key): возвращает из словаря элемент с ключом key. Если элемента с таким ключом нет, то возвращает значение None

· get(key,default): возвращает из словаря элемент с ключом key. Если элемента с таким ключом нет, то возвращает значение по умолчанию.

-7

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

-8

Чтобы превратить пришельца со средней скоростью в быстрого, добавьте следующую строку: alien_0['speed'] = fast

Python . Удаление.

Для удаления элемента по ключу применяется оператор del:

-9

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

-10

Другой способ удаления представляет метод pop(). Он имеет две формы:

· pop(key): удаляет элемент по ключу key и возвращает удаленный элемент. Если элемент с данным ключом отсутствует, то генерируется исключение KeyError.

· pop(key, default): ): удаляет элемент по ключу key и возвращает удаленный элемент. Если элемент с данным ключом отсутствует, то возвращается значение default.

-11

Если необходимо удалить все элементы, то в этом случае можно воспользоваться методом clear():

users.clear()