Как работают словари в Python? Что такое {}?

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

Например, база данных телефонных номеров может храниться с использованием словаря, подобного следующему:

phonebook = {}
phonebook["John"] = 938477566
phonebook["Jack"] = 938377264
phonebook["Jill"] = 947662781
print(phonebook)

Кроме того, словарь может быть инициализирован с теми же значениями в следующих обозначениях:

phonebook = {
    "John" : 938477566,
    "Jack" : 938377264,
    "Jill" : 947662781
}
print(phonebook)

Перебор словарей

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

phonebook = {"John" : 938477566,"Jack" : 938377264,"Jill" : 947662781}
for name, number in phonebook.items():
    print("Phone number of %s is %d" % (name, number))

Удаление значения

Чтобы удалить указанный индекс, используйте одно из следующих обозначений:

phonebook = {
   "John" : 938477566,
   "Jack" : 938377264,
   "Jill" : 947662781
}
del phonebook["John"]
print(phonebook)

или:

phonebook = {
   "John" : 938477566,
   "Jack" : 938377264,
   "Jill" : 947662781
}
phonebook.pop("John")
print(phonebook)

Упражнение

Добавьте "Jake" в телефонную книгу с номером телефона 938273443 и удалите Jill из телефонной книги.

phonebook = { "John" : 938477566, "Jack" : 938377264, "Jill" : 947662781 } # write your code here # testing code if "Jake" in phonebook: print("Jake is listed in the phonebook.") if "Jill" not in phonebook: print("Jill is not listed in the phonebook.") phonebook = { "John" : 938477566, "Jack" : 938377264, "Jill" : 947662781 } # write your code here phonebook["Jake"] = 938273443 del phonebook["Jill"] # testing code if "Jake" in phonebook: print("Jake is listed in the phonebook.") if "Jill" not in phonebook: print("Jill is not listed in the phonebook.") test_output_contains("Jake is listed in the phonebook.") test_output_contains("Jill is not listed in the phonebook.") success_msg("Nice work!")