Списки у Python позначаються у фігурних дужках. Синтаксис:
словник = {ключ_1 : значення, ключ_2 : значення}
Давайте створимо змінну user_1, яка буде являтися словником.
user_1={
"name":"Arthur",
"birth_year":2001
}
Як ви бачили, ми створили для прикладу дані користувача 1 з ім'ям Артур, що народився 2001 року. Дані у словниках розділяються комами, але присвоєння робиться не дорівнює (=) а двокрапкою (:). Якщо ми на місці програми, не знаємо, як зовуть user_1, ми повинні зробити запит до цієї змінної, до значення ім'я ("name"). Для цього, використовуємо метод get():
print(user_1.get("name")) #надрукується ім'я Arthur
Можна звернутися окремо до значення без методу get():
print(user_1["name"])
А що робити у випадку, якщо ми помилились, або нам просто потрібно змінити значення дня народження користувача 1? Ми звертаємося до значення "birth_year" у user_1 та змінюємо:
user_1["birth_year"]=2002
Тепер, якщо вивести дані користувача (print(user_1)), ми отримаємо {'name': 'Arthur', 'birth_year': 2002}. Рік народження змінився.
Цикл for можна використовувати й для словників. Він буде отримувати ключі словника. У нашому випадку, код
for i in user_1: print(i) #виведе name,birth_year
А щоб вивести і ключ, і значення, перероблюємо print(i)
на print(i,user_1[i])
Щоб отримати значення словника, як список, використовуємо user_1.values()
, що поверне dict_values(['Arthur', 2002])
Щоб перебирати ключі разом зі значеннями, створюємо цикл
for key,item in user_1.items():
print(key,":",item)
Таким чином, виводиться
name : Arthur
birth_year : 2002
Щоб відповісти на питання "чи існує відомо нам прізвище?", використаємо можливість роботи з if:
if "surname" in user_1:
print("Прізище -",user_1["surname"])
else:
print("Прізвище невідомо")
Оскільки ми не створювали user_1 ключ "surname", отримаємо від програми, що прізвище невідомо. Поки, ми бачимо, що у словнику 2 значення. Програма також може це підрахувати, використовуючи len(user_1), що поверне 2.
Давайте все-таки, додамо йому прізвище. Для цього, вказуємо user_1["surname"]="Belov"
Але що робити, якщо нам потрібно видалити значення? Використовуємо del <елемент словника>:
del user_1["surname"]
Щоб видалити весь зміст словника, використовуємо user_1.clear()
Щоб скопіювати user_1 в user_2, використовуємо метод .copy():
user_2=user_1.copy()
Можна створити словник й іншим чином: пишемо ключі(без лапок)=значення у функції dict(). Приклад:
user_3=dict(name="Anton",birth_year=2000)