2.1 Отримання кількості елементів
В Python для отримання кількості елементів у словнику використовується вбудована функція len(). Ця функція повертає кількість пар ключ-значення в словнику. Ну або кількість ключів, якщо хочете.
Приклад використання функції:
person = {"name": "Alice", "age": 25, "city": "New York"}
num_elements = len(person)
print(num_elements) # Вивід: 3
У цьому прикладі у нас є словник person з трьома елементами. Функція len(person) повертає кількість елементів у словнику, яке дорівнює 3.
Перевірка на порожність словника
Ви можете використовувати функцію len() для перевірки порожності словника. Це корисно в умовах і циклах.
empty_dict = {}
print(len(empty_dict)) # Вивід: 0
person = {"name": "Alice", "age": 25, "city": "New York"}
if len(person) > 0:
print("Словник не порожній")
else:
print("Словник порожній")
Словник з вкладеними структурами
Функція len() враховує тільки кількість верхньорівневих ключів, незалежно від того, що міститься як значення.
complex_dict = {
name: "Alice",
details: {
age: 25,
city: "New York"
},
hobbies: ["reading", "traveling"]
}
print(len(complex_dict)) # Вивід: 3
У цьому прикладі у нас є словник з вкладеними структурами даних. len(complex_dict) повертає 3, оскільки на верхньому рівні є три ключі: "name", "details" і "hobbies".
len() ігнорує ключі всередині вкладених структур даних, таких як "age" і "city" всередині словника "details", тому що len() рахує тільки верхньорівневі ключі. Якщо вам потрібно порахувати кількість всіх елементів, включаючи вкладені структури, необхідно буде використати рекурсивний метод. Але про нього не сьогодні.
2.2 Визначення типу
Функція type() в Python використовується для визначення типу об'єкта. При роботі зі словниками type() дозволяє визначити, що об'єкт є екземпляром класу dict. Це може бути корисно в різних сценаріях, наприклад, для перевірки типу даних перед виконанням операцій над словником.
Приклади використання:
Перевірка типу об'єкта
person = {"name": "Alice", "age": 25, "city": "New York"}
print(type(person)) # Вивід: <class 'dict'>
У цьому прикладі ми створюємо словник person і використовуємо type для визначення його типу. Функція повертає <class 'dict'>, вказуючи, що person є словником.
Умова перевірки типу даних
Функція type() може бути використана для перевірки типу даних в умовних виразах, що дозволяє виконувати певні операції тільки для об'єктів типу dict.
data = {"name": "Alice", "age": 25, "city": "New York"}
if type(data) is dict:
print("Це словник.")
else:
print("Це не словник.")
У цьому прикладі умовний вираз перевіряє, чи є data словником, і виконує відповідний код.
Функція type() може бути використана всередині користувацьких функцій для перевірки типу аргументів, що дозволяє гарантувати, що функція обробляє правильний тип даних.
Приклад:
def process_data(data):
if type(data) is dict:
print("Обробка словника...")
# Виконання операцій над словником
else:
print("Помилка: очікувався словник.")
data = {"name": "Alice", "age": 25, "city": "New York"}
process_data(data)
У цьому прикладі функція process_data перевіряє, чи є аргумент data словником, і виконує відповідні операції тільки для словників.
2.3 Отримання елемента
Робота з елементами словника схожа на роботу зі списком чи кортежем — ми також будемо використовувати квадратні дужки. Але замість індексу елемента в дужках потрібно вказувати ключ. Ключем словника може бути будь-який незмінний елемент: рядок, число чи, наприклад, кортеж.
словник[ключ]
Приклад:
person = {"name": "Alice", "age": 25, "city": "New York"}
name = person["name"]
print(name) # Вивід: Alice
Якщо ключ відсутній, то виникне помилка:
person = {"name": "Alice", "age": 25, "city": "New York"}
person["country"] # виникне помилка KeyError: 'country'
Метод get(key, def_value)
Метод get() дозволяє безпечно отримувати значення за ключем. Якщо ключ відсутній, метод повертає значення за замовчуванням (None, якщо значення за замовчуванням не вказане). Це запобігає виникненню винятку KeyError.
person = {"name": "Alice", "age": 25, "city": "New York"}
age = person.get("age")
print(age) # Вивід: 25
country = person.get("country", "USA")
print(country) # Вивід: USA
Другим параметром у метод get() можна передати значення, яке потрібно повернути, якщо потрібного ключа в словнику немає.
Метод setdefault() працює аналогічно методу get(), але якщо ключа в словнику немає, метод не просто повертає значення за замовчуванням, а додає до словника нову пару ключ: значення.
person = {"name": "Alice", "age": 25}
city = person.setdefault("city", "New York")
print(city) # Вивід: New York
print(person) # Вивід: {'name': 'Alice', 'age': 25, 'city': 'New York'}
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ