Итоги
В этом уроке вы узнали, что:
- Словарь хранит вместе значения, которые описывают одну вещь:
{"name": "Анна", "age": 21}. Он состоит из пар «ключ — значение», разделённых запятыми, с двоеточием между ключом и значением. print()показывает словарь с текстом в одинарных кавычках:{'name': 'Анна', 'age': 21}. Пары остаются в том порядке, в котором были добавлены.- Значение читают по ключу в квадратных скобках:
person["name"]. Ключ, которого нет, завершает программу ошибкойKeyError. Заглавные и строчные буквы в ключах важны. В f-строке пишите ключ в одинарных кавычках:f"{person['name']}". - Присваивание меняет значение (
person["age"] = 22) или добавляет новую пару (person["city"] = "Москва"). Каждый ключ есть в словаре только один раз.{}— пустой словарь, аlen()возвращает количество пар. "phone" in personпроверяет, есть ли ключ.person.get("phone", "неизвестно")читает значение без ошибки: если ключа нет, возвращается значение по умолчанию (без него —None).- Ключ в квадратных скобках может лежать в переменной:
menu[item]. for key in person:проходит по ключам, аfor key, value in person.items():— по ключам и значениям вместе.- Словарь отлично подходит для подсчёта:
counts[x] = counts.get(x, 0) + 1. - Список словарей хранит много однотипных вещей.
movies[1]["title"]— название второго фильма, а циклforпроходит по списку по одному словарю. - Функция может получить в качестве аргумента словарь или список словарей, а также может вернуть новый словарь.
В следующем уроке, итоговом проекте, вы соберёте вместе всё, что узнали в этом курсе (переменные, условия, списки, циклы, функции и словари), и шаг за шагом создадите целую программу.
А теперь немного практики. Фруктовый магазин в редакторе хранит запасы в словаре: каждый фрукт и сколько штук его осталось.
Задание
- 1
Напишите функцию
sold_out(counts), которая возвращает список фруктов, количество которых в словареcountsравно0. Вызовите её соstockи выведите результат:['лимоны', 'сливы']. - 2
В магазин привезли 20 лимонов, а ещё он начал продавать киви, но их пока не привезли. Ниже задайте количеству
"лимоны"значение20, добавьте ключ"киви"со значением0и снова выведитеsold_out(stock):['сливы', 'киви'].