Ну що ж, сьогодні в статті будемо розбиратися, як звернутися до ключа словника в Python. Перед тим як шукати відповідь на це питання, давайте почнемо з самого простого, адже без цього ми не зможемо рухатися далі. Спочатку розберемося з тим: що таке словник, навіщо він потрібен і чому це зручний інструмент. Також нагадаю, якщо ви прагнете отримати поглиблені знання у Python, прошу звернути увагу на відповідний курс академії FoxmindEd.
Що таке словник?
Так що ж таке словник? Думаю, максимально просто і зрозуміло буде, якщо ми проведемо аналогію та розберемо це на прикладі. Для аналогії пропоную взяти Google Translate, всім відомий, і розглянемо наступний приклад. Якщо ми читаємо, наприклад, англомовну статтю і зустрічаємо незрозуміле слово, ми хочемо отримати його переклад для кращого розуміння контексту. Ми заходимо в словник, вводимо туди слово “estimate”. Перший крок – це введення слова, переклад якого ми хочемо отримати. На виході словник нам повертає значення цього слова. Для спрощення візьмемо ситуацію, в якій словник повертає лише одне значення. Коли ми введемо слово “estimate”, на виході отримаємо слово “оцінка”, яке найбільш часто вживається в цьому контексті.
Отже, що ми можемо констатувати? Словник – це базовий елемент Python, а його основою є зв’язка “ключ-значення”. У нашому прикладі слово “estimate” – це “ключ”, тобто те, по чому ми шукаємо. Його визначення, тобто переклад “оцінка” – це “значення”. У словнику таких зв’язок може бути безліч. Відкрийте будь-який англо-український словник, і ви побачите, що це величезна кількість. Те ж саме стосується і Python: ви можете створити словник, подумати над логікою, яку хочете в нього закласти і заповнити його величезною кількістю базових елементів(“ключ-значення”).
Отже, базовим елементом словника є зв’язка “ключ-значення”, а набір таких зв’язок і формує словник. Ось і все, що потрібно розуміти про словник. Всі подальші операції над ним дуже прості і зрозумілі.
Приклади словників
Чому словник є зручним інструментом?
Після того як ми зрозуміли інтуїтивно, що таке словник і розуміємо його сутність, варто з’ясувати, навіщо він потрібен, чому він зручний і чому нам потрібно ним користуватися.
Перше і найголовніше: словник – це базовий елемент Python. Не потрібно інсталювати жодної додаткової бібліотеки або встановлювати щось, щоб ним користуватись. Якщо ви створите змінну і присвоїте їй порожні фігурні дужки, це вже буде порожній словник, і все, що вам потрібно робити далі – це працювати над ним(додавали, видалюти, перезаписувати). Тому перша перевага – це простота.
Приклади створення простого словника (пустого)
Друга причина, яка робить словник важливим інструментом – це його зручність. Щоб це зрозуміти, давайте наведемо приклад з іншим об’єктом Python – списком. Теоретично, ви можете створити набір даних, наприклад, маючи групу людей і бажаючи провести певну статистику, ви можете записати дати їх народження у список та оперувати цим списком. Однак, щоб користуватися ним зручно, по-перше, ви повинні знати кількість елементів у списку і порядковий номер того елемента, який шукаєте. Крім того, ви не можете зберегти, за ким саме закріплена ця дата народження. Це дуже громіздко і потребує незручних рішень.
І тут на допомогу приходить словник. Словник дозволяє не хвилюватися про порядковий номер елемента, а лише пам’ятати його “ключ”. Якщо ви маєте словник і пам’ятаєте “ключ”, ви завжди знайдете його “значення”. Тому друга причина – словники дозволяють зберігати велику кількість інформації у зручному форматі. І невеличкий спойлер – “значенням” можуть бути навіть списки або інші словники. Тобто у вас може бути словник у словнику, що дозволяє зробити ваші дані дуже масштабними і багатофункціональними.
Демонстрація потужності словника
Третя найголовніша причина, якщо вам не досить попередніх двох😉 Навіть якщо з якихось причин вам не подобається словник, він вас не зачепив, здається нудним або незручним, я вас трохи засмучу – всі користуються словниками. Оскільки ви не працюєте незалежно, ви завжди будете дивитися чужий код, передавати свій код комусь. Саме тому ви будете стикатися зі словниками повсюди. Тому я вам раджу розібратися з ними. Вони інтуїтивно зрозумілі, і ви швидко навчитеся ними оперувати.
курси Junior саме для вас.
Як працювати з ключем словника Python
Ну що ж, після того, як ми розібралися, що таке словник, чому він потрібний і чому він зручний, давайте тепер будемо розбиратися з його базовими елементами. Як нам вже стало зрозуміло, у зв’язці “ключ-значення” в основному нас хвилює “ключ”, тому що майже всі операції, які ми будемо проводити зі словником, такі як додавання елементів, видалення елементів чи зміна значення, ми будемо проводити через “ключ”. Іншими словами, “значення” залежить від “ключа”, і ми можемо ним оперувати, але всі наші операції будуть націлені на те, що ми будемо оперувати “ключем”.
Давайте для того, щоб все було візуально зрозуміло, створимо невеликий словник з шести елементів, де “ключі” – це імена, а “значення” – це дати народження. Цей словник невеликий, тому нам буде зручно і візуально зрозуміло, що з ним відбувається після наших дій. В моєму розумінні перше і найважливіше, що потрібно вміти робити – це перевіряти, чи є той “ключ”, який ми хочемо знайти, у словнику. Чому це важливо? Тому що якщо ви почнете шукати ключа, якого немає, вам буде повернута помилка. Тому варто почати з того, щоб просто перевірити, чи є цей ключ у словнику. Якщо його немає, можливо, вам варто його створити. А якщо він є, тоді з ним вже можна працювати.
Створимо словник з датами народження президентів України
Ось таку помилку ми отримаємо, якщо будемо шукати ключ якого немає
Саме для того, щоб не виникала ситуація вище, ми й можемо перевірити, чи є ключ в словнику чи ні. Синтаксис дуже простий, вказуємо ім’я ключа, магічне слово in та назву нашого словника. Результат True каже про належність “ключа” да словника, False про зворотню ситуацію.
Перевіряємо “ключ” на приналежність до словника
Ну що, тепер ви вмієте перевіряти наявність ключа у словнику. Тепер ми можемо перейти до наступного, більш значущого і необхідного кроку. У більшості випадків ви будете працювати зі словником, щоб витягти необхідні вам значення. У моєму розумінні, існує два дуже простих і прозорих методи, які дозволяють витягнути необхідне значення за “ключем”. Можливо, є й інші методи, якщо глибше дослідити це питання, але я впевнений, що цих два методи буде абсолютно достатньо для того, щоб витягати значення за “ключем” і користуватися ним.
Перший метод – це доступ за допомогою квадратних дужок ([]). Це найпростіший спосіб отримати значення за ключем. Якщо ключ існує в словнику, ви отримаєте його значення. Якщо ключ не існує, виникне помилка (KeyError).
Приклади витягування “значення” по “ключу”
Отже, як ви бачите, перший метод доволі простий. Потрібно пам’ятати тільки назву словника і назву “ключа”. І все, ви отримаєте “значення”, нічого важкого. Але за простотою цього метода криється одна незручність. Якщо ви введете “ключ”, якого немає в словнику, ви отримаєте помилку. Критичність цієї помилки залежить від того, як ви працюєте з кодом. Якщо ви зараз просто експериментуєте, це не проблема. Але якщо ваш скрипт працює автономно, це може призвести до збоїв у роботі. Тому існує інший метод, який допоможе уникнути таких проблем.
Ось така помилка буде вас переслідувати, якщо користуватися неправильним ключем
Другий метод, який, в моєму розумінні, більш модернізований, називається get. Це метод конкретно розроблений для словника. Особливість його полягає в тому, що коли ви пишете ключове слово get відразу після назви словника, ви можете всередині передати два параметри. Перший параметр відповідає за “ключ”, який ви шукаєте, а другий параметр з’явиться і буде виведений в тому випадку, якщо вашого ключа немає в словнику.
І це, насправді, дуже зручно, тому що позбавляє вас необхідності перевіряти, чи є там “ключ”, чи немає. Ви просто використовуєте метод get, і якщо ключа “немає”, отримуєте значення яке попередньо вказали. Наприклад, ви можете вивести інформацію, що даний ключ відсутній і потрібно додати нове значення, або просто повернути пусте значення і в подальшому обробити його.
Приклади використання методу get
Тому другий метод значно привабливіший з точки зору використання. Його варто використовувати. Я б порекомендував саме його. Але перший метод також має право на існування. Єдине, потрібно бути обережним, оскільки якщо словник не знайде вашого ключа, він поверне помилку. Подумайте, наскільки це для вас критично. Якщо це не проблема, користуйтесь першим методом. Якщо це критично, рекомендую використовувати метод get.
Ще одна перевага методу get полягає в тому, що вам не обов’язково передавати другий параметр. Якщо ви передасте тільки перший параметр, тобто “ключ”, і якщо “ключ” не буде знайдений, метод просто поверне None(тобто пусте значення). Це набагато зручніше, ніж перший метод, тому що перший метод поверне помилку і скрипт зупиниться.
Краса методу get: значення немає, помилки немає, нічого немає, але код працює)))
Підводимо підсумки
І наостанок давайте підведемо підсумки всього, що ми розглянули вище.
1. Словник у Python – дуже зручний об’єкт, тому що:
- Він автоматично доступний без необхідності додаткових налаштувань.
- Його базовий елемент – це зв’язка “ключ-значення”. Набір таких зв’язок і створює словник.
- Словник дозволяє легко зберігати та знаходити інформацію по “ключах”, що значно спрощує роботу з великими обсягами даних.
- Можна зберігати комплексні структури даних, включаючи списки і навіть інші словники.
2. Пошук значень по “ключам” – головне завдання при роботі зі словником. Для цього є два зручних методи:
- Перший метод — доступ через квадратні дужки: my_dict[key]. Це простий спосіб, але він може спричинити помилку, якщо ключа немає в словнику.
- Другий метод – метод get: my_dict.get(key, if key wasn’t found). Цей метод дозволяє уникнути помилок, повертаючи None або задане значення за замовчуванням, якщо ключа немає в словнику.
А що далі?
Варто констатувати, що словник — це дуже потужний інструмент. Тому попрактикуйтеся: створіть невеличкий словник, пошукайте “значення” за “ключами”, повідловлюйте помилки, подивіться, як це працює на практиці. Використайте обидва методи, які ми сьогодні розглянули. Після цього ви зможете приступити до більш складних методів роботи зі словником, таких як заповнення словника, видалення об’єктів, зміна значень. На цьому все, успіхів.
Чи є у вас питання щодо того, як звернутися до ключа словника Python? Запитуйте - ми із задоволенням відповімо! 💪