Списки у 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 : Arthurbirth_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)