Словари

Словари в Python - это отображение хэшируемых элементов (ключей) на объекты (значения).

Создадим словарь:

dictionary = {1: 1, 2: 4, 3: 9, "hello": "pyplanet"}

Пустой словарь можно также создать с помощью литерала:

empty = {}

Ключи работают так же, как и элементы множества:

  • Уникальны
  • Неизменяемы

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

Мы хотим написать простейшую систему вопрос - ответ. У нас есть заранее известный список потенциальных вопросов и ответов на них.

Ранее мы решали её с помощью нескольких if, или с помощью match - case.

Но более компактно и более универсальным образом можно написать эту систему с помощью словаря:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
answers = {
    "Привет?": "Привет!",
    "Что ты знаешь?": "Что-то, да знаю",
    "Как дела?": "Хорошо!",
    "Что делаешь?": "Отвечаю на вопросы кожаных мешков",
    "Кто ты?": "Я - компьютерная программа, написанная на Python",
    "В чем смысл жизни?": "42",
}
question = input()
answer = answers.get(question, "Вопрос непонятен")
print(answer)

В строке 9 мы с помощью метода get словаря получаем значение по ключу. Второй аргумент - то, что возвращает этот метод, если ключ не найден.

Методы словарей можно найти в моём справочнике.