Словари — это тип сбора данных, который является подкатегорией типов данных (например, массивов или списков и кортежей). Они используются для поиска значений — как в словаре в реальной жизни!
Словари в программировании состоят из «пар ключ-значение» — термина, который вы часто слышите. Каждый элемент в словаре состоит из двух компонентов: «ключ» и «значение» (ключ слева, значение справа). То есть пара ключа и значения. Отсюда — пары ключ-значение. Каждый ключ представляет собой уникальную метку, а значение — это связанная с ним информация.
Например:
{'волосы': 'блондинка',
'глаза': 2}
И так далее. Каждая пара ключ-значение разделяется двоеточием : и отделяется от следующей запятой , . В Python все они перечислены в фигурных скобках {}.
Словари являются изменяемыми, например, вы можете удалить или добавить пару ключ-значение. Есть также несколько правил для самих ключей и значений:
Ключи неизменяемы — их нельзя изменить. Они могут быть строковыми значениями, логическими значениями, кортежами — любыми неизменяемыми значениями. Думайте о них как о этикетке товара в магазине — например. хлеб.
Значения изменчивы — их можно изменить. Думайте о них как о цене хлеба в магазине. Они также могут быть чем угодно — любым типом данных, включая набор данных, например список, или даже другой словарь!
Словари очень эффективны для поиска значений — например. возможно, вы работаете со словарем в своем коде под названием «статус»:
status = {
'голодный': правда,
'жаждущий': правда,
'настроение': 'грустный',
'съеденный': ['завтрак' , 'кофе']
Вы можете найти значение, относящееся к «голодному», и в результате получить True. И вы можете посмотреть, что у вас есть, как значение «съедено» и получить [«завтрак», «кофе»].
Если в процессе вашего кода вы обедаете, вы можете обновить поля в словаре «статус», чтобы отразить это, и когда вы снова просматриваете эти значения, вы можете увидеть, что значение «голодный» теперь обновлено до False и «съедено» в ['завтрак', 'кофе', 'обед'], потому что в вашем коде вы обновили эти значения.
Почему мы можем использовать словари в нашем коде? Очень полезно иметь возможность связывать значения с ключами и обновлять их по мере запуска и развития кода.
Словари очень полезны для запуска функций, где, например, взаимодействие с пользователем может использоваться для установки значения из диапазона возможных значений.
Этот пример Python устанавливает значения в вашем коде в зависимости от выбора пользователя без использования словарей:
если выбраноButton == «button1»:
FontColour = «green»
если выбраноButton == «button2»:
FontColour = «blue»
если выбраноButton == «button3»:
FontColour = «red»
если выбраноButton == «button4»:
fontColour = «pink»
если выбраноButton == «button5»:
FontColour = «фиолетовый»
если выбраноButton == «button6»:
FontColour = «black»
если выбраноButton == «button6»:
FontColour = «оранжевый»
print("fontcolour = ", FontColour)
вернуть шрифтЦвет
Согласно многочисленным условиям кода, если пользователь выбирает button2, результат будет следующим:
FontColour = синий
Однако, как видите, этот код длинный и довольно запутанный. Он имеет множество точек принятия решений для компьютера, поэтому будет работать медленно и оставляет много места для человеческих ошибок при его написании. Напротив, использование словаря может снизить эти риски.
словарь = {
«button1» : «зеленый»,
«button2» : «синий»,
«button3» : «красный»,
«button4» : «розовый» ,
«button5» : «фиолетовый»,
«button6» : «черный»,
«button7» : «оранжевый»
}
если выбрана кнопка в словаре:
fontColour = словарь[selectedButton]
print("fontcolour = ", fontColour)
вернуть шрифтЦвет
Видите, насколько это проще и понятнее? Он более краток, поэтому его легче редактировать, работать с ним и дублировать. Он требует всего лишь одного условного решения компьютера, удобен и прост для понимания — как для человека, так и для машины. Даже на этом простом примере вы можете видеть, что словари очень мощные!
Итак, теперь вы знаете, что такое словарь, как им пользоваться и почему вам это может понадобиться. Что вы будете делать со словарями?