Словари

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

Примеры словарей:

  • "Большой толковый словарь" — пары слово: его значение

  • Идентификационный номер и имя сотрудника компании. По номеру мы можем установить имя сотрудника. Пары номер: имя

Пары ключ: значение часто называются отображениями (mappings), потому что по каждому ключу поставлено в соответствие значение, т.к. каждый ключ как бы отображается на соответствующее ему значение

# создание словаря
phonebook = {'Сергей': '555-1111', 'Татьяна': '555-2222', 'Олег': '555-3333'}
# словарь phonebook содержит три элемента -- три пары ключ: значение
# доступ к значению словаря
phonebook['Сергей'] # 555-1111
phonebook['Татьяна'] # 555-2222
  • Значения в словаре могут быть объектами любого типа, но ключи должны быть немутируемыми (неизменяемыми) объектами

  • При этом в одном словаре могут храниться ключи и значения разных типов

test_dict = {1: ['Hi', 'Hello']}
test_dict_2 = {['Hi', 'Hello']: 2} # будет ошибка -- список изменяемый объект
  • Вхождение в словарь

phonebook = {'Сергей': '555-1111', 'Татьяна': '555-2222', 'Олег': '555-3333'}
if 'Сергей' in phonebook:
    print(phonebook['Сергей'])
    
if 'Александр' not in phonebook:
    print('Александр не найден')

Практика:

  • Создайте словарь, где числа от 1 до 5 являются ключами, а их запись текстом — значениями (напр. "один", "два" и т.д.)

  • Напишите функцию, которая принимает в качестве параметров словарь и число, которое нужно найти. Если число есть в словаре — верните True, иначе — False

  • При помощи функции определите, есть ли в словаре числа: 2, 4, 6, 8

Добавление элементов в существующий словарь

Словарь — мутируемый объект, значит мы можем добавлять в него элементы

Удаление элементов словаря

Получение количества элементов в словаре

Создание пустого словаря

Практика:

  • Создайте пустой словарь

  • Добавьте в него элементы — названия типов данных в Python в качестве ключей и один пример этого типа данных в качестве значения (например: 'int': 5)

  • Удалите изменяемые типы данных

  • Распечатайте получившийся результат

Применение цикла for для обхода словаря

Для перебора всех ключей словаря применяется цикл for:

Практика:

  • Создайте словарь capitals из 5 элементов, где ключ — государство, значение — столица этого государства

  • Создайте пустой список. Проитерируйтесь по словарю при помощи цикла for. Добавьте в список государства, столицы которых имеют длину больше 6 букв

  • Распечатайте получившийся список

Основные методы словарей

Включение в словарь (dict comprehensions)

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

Практика:

  1. При помощи включения в словарь создайте словарь, где ключи — элементы списка numbers = [7, 3, 2, 12, 6], а значения — эти же числа, умноженные на 10

  2. Предположим у нас есть словарь с оценками учеников:

  • Создайте новый словарь high_scores, в котором будут только те ученики, чьи оценки больше 6. Выполните задачу при помощи dict_comprehensions

Last updated