У Python словники — це один з основних типів даних, які дозволяють зберігати колекції елементів у формі пар “ключ-значення”. Це дуже гнучкий і зручний спосіб зберігання даних, який часто використовується для організації інформації. Приклад з відео:
#Словники використовуються для зберігання значень даних у парах ключ:значення.
#Словник — це збірка, яка є впорядкованою, змінною та
#не допуска' дублікатів.
#Починаючи з версії Python 3.7, словники впорядковані.
#У Python 3.6 і попередніх версіях словники були не впорядковані.
carDictionary1 = {
"brand": "Dodge",
"model": "Charger",
"year": 2020
}
print(carDictionary1)
У Python словники складаються з пар “ключ-значення”, і кожен з цих елементів має свої особливості.
Ключ (Key): Це унікальний ідентифікатор для кожного елемента в словнику. Ключі повинні бути незмінними типами даних, такими як рядки, числа або кортежі. Ключі мають бути унікальними в межах одного словника.
Значення (Value): Це дані, які асоційовані з ключем. Значення можуть бути будь-якого типу даних, включаючи інші словники, списки або навіть функції.
Приклад з відео:
#Елементи словника впорядковані, змінні та не
#дозволяють дублікати.
#Елементи словника представлені в парах ключ:значення і
#до них можна звертатися за допомогою імені ключа.
carDictionary1 = {
"brand": "Dodge",
"model": "Charger",
"year": 2020
}
print(carDictionary1["brand"])
У словниках Python ключі завжди унікальні. Це означає, що ви не можете мати два однакових ключі в одному словнику. Якщо ви спробуєте додати новий ключ, який вже існує в словнику, старе значення буде перезаписано новим значенням. Приклад з відео:
#Словники не можуть мати два елементи з однаковим ключем
#Дубльовані значення перезапишуть наявні значення
carDictionary = {
"brand": "Dodge",
"model": "Charger",
"year": 2019,
"year": 2020
}
print(carDictionary)
Довжина словника
Довжина словника в Python визначається кількістю пар ключ-значення, які він містить. Щоб отримати цю довжину, можна скористатися функцією len(). Приклад з відео:
#Щоб визначити, скільки елементів містить словник, використовуйте
#функцію len().
carDictionary = {
"brand": "Dodge",
"model": "Charger",
"year": 2020
}
lengthOfDictionary = len(carDictionary)
print(carDictionary)
print(lengthOfDictionary)
Типи даних елементів у словниках
У словниках Python можна використовувати різноманітні типи даних. Приклад з відео:
#Значення в елементах словника можуть мати будь-який тип даних
carDictionary = {
"brand": "Dodge",
"electric": False,
"year": 2020,
"colors": ["yellow","blue","orange", "black", "white"]
}
print(carDictionary)
Функція type() та словники
Функція type() у Python використовується для визначення типу об’єкта. Коли ви використовуєте цю функцію з словниками, вона поверне, що об’єкт є словником (dict). Приклад з відео:
#словники визначаються як об'єкти з типом даних "dict"
carDictionary = {
"brand": "Dodge",
"model": "Charger",
"year": 2020
}
print(carDictionary)
print(type(carDictionary))
Конструктор dict()
Конструктор dict() у Python створює новий словник. Він є універсальним способом для ініціалізації словників і може приймати різні типи вхідних даних. Приклад з відео:
#Також можна використовувати конструктор dict()
#щоб створити словник
carDictionary = dict(brand="Dodge", model="Charger", year=2020)
print(carDictionary)
print(type(carDictionary))
Доступ до елементів словника
Доступ до елементів словника у Python здійснюється за допомогою ключів. Словники в Python є колекціями пар ключ-значення. Щоб отримати значення, що відповідає певному ключу, ви використовуєте квадратні дужки [] або метод .get(). Приклад з відео:
#Ви можете отримати доступ до елементів словника, посилаючись на
#його ключове ім'я в квадратних дужках
#Існує також метод під назвою get(), який надасть вам
#той же результат
carDictionary = dict(brand="Dodge", model="Charger")
brandExtract = carDictionary["brand"]
modelExtract = carDictionary.get("model")
print(carDictionary)
print(brandExtract)
print(modelExtract)
Метод keys()
Метод keys() у словниках Python використовується для отримання видимих ключів словника. Він повертає вью-об’єкт (dict_keys), який є динамічним і відображає ключі словника в момент виклику. Приклад з відео:
#метод keys() поверне список усіх ключів
#в словнику
carDictionary=dict(brand="Dodge", model="Charger")
keysCarDictExtract = carDictionary.keys()
print(carDictionary)
print(keysCarDictExtract)
#додаванння нової key=value пари до словника
carDictionary["year"]=2020
print(carDictionary)
print(keysCarDictExtract)
Метод values()
Метод values() у словниках Python використовується для отримання всіх значень, які відповідають ключам словника. Він повертає вью-об’єкт (dict_values), який є динамічним і відображає значення словника на момент виклику. Приклад з відео:
#Метод values() поверне список усіх значень
#в словнику.
carDictionary = dict(brand="Dodge", model="Charger")
valuesExtract = carDictionary.values()
print(carDictionary)
print(valuesExtract)
#додавання новї key=value пари
carDictionary["year"]=2020
print(carDictionary)
print(valuesExtract)
Метод items()
Метод items() у словниках Python використовується для отримання всіх пар ключ-значення з словника. Він повертає вью-об’єкт (dict_items), який є динамічним і відображає пари ключ-значення словника на момент виклику. Приклад з відео:
#метод items() поверне кожен елемент у словнику,
#як кортежі в списку
carDictionary=dict(brand="Dodge", model="Charger")
itemsExtract = carDictionary.items()
print(carDictionary)
print(itemsExtract)
#додавання нової key=value пари
carDictionary["year"]=2020
print(carDictionary)
print(itemsExtract)
Перевірка наявності елементів
За допомогою ключового слова “in” можна перевірити наявність певного ключа у словнику. Приклад з відео:
# Щоб визначити, чи присутній вказаний ключ у словнику
#використовуйте ключове слово "in".
carDictionary = {
"brand": "Dodge",
"model": "Charger",
"year": 2020
}
print(carDictionary)
if "brand" in carDictionary:
print("Key 'brand' is present in dictionary")
else:
print("Key 'brand' is not present in dictionary")
Зміна значень у словниках
Для заміни значення у словнику потрібно звернутися за відповідним ключем і вказати нове значення. Приклад з відео:
#Ви можете змінити значення певного елемента шляхом посилання
#на назву ключа
carDictionary = dict(brand="Dodge", model="Charger", year=2020)
print(carDictionary)
carDictionary["model"]="Challenger"
carDictionary["year"]=2021
print(carDictionary)
Метод update() у словниках
Метод update() у словниках Python використовується для оновлення словника новими парами ключ-значення. Він дозволяє додати нові пари або оновити існуючі пари ключ-значення в словнику. Приклад з відео:
#метод update() оновить словник елементами
#від заданого аргументу.
#Якщо елемент не існує, його буде додано.
#Аргументом має бути словник або ітерований об’єкт
#з парами ключ:значення.
carDictionary = dict(brand="Dodge", model="Charger")
print(carDictionary)
carDictionary.update({"model":"Challenger"})
carDictionary.update({"year":2020})
print(carDictionary)
Методи pop() and popitem()
Метод pop() у словниках Python використовується для видалення пари ключ-значення з словника за допомогою вказаного ключа і повернення значення, яке відповідало цьому ключу. Це дозволяє не тільки видаляти елементи, але й отримувати їх значення.
Метод popitem() у словниках Python використовується для видалення і повернення останньої вставленої пари ключ-значення з словника. Цей метод є корисним, коли потрібно витягнути та видалити останній елемент словника в його порядку вставки.
Приклад з відео:
#метод pop() видаляє елемент із вказаною назвою ключа
#метод popitem() видаляє останній вставлений елемент
#(у версіях до 3.7 замість цього видаляється випадковий елемент)
carDictionary=dict(brand="Car", model="Some model", year=2000)
print(carDictionary)
carDictionary.pop("year")
print(carDictionary)
carDictionary.popitem()
print(carDictionary)
del та clear()
Ключове слово del у Python використовується для видалення об’єктів, включаючи елементи з словників. Коли ви використовуєте del з словниками, ви можете видаляти конкретні пари ключ-значення або навіть сам словник.
Метод clear() у словниках Python використовується для видалення всіх пар ключ-значення з словника, очищаючи його повністю. Після виклику clear(), словник залишається існуючим, але він стає порожнім.
Приклад з відео:
#ключове слово del може видалити елемент із вказаною назвою ключа
#ключове слово #del також може повністю видалити словник
#метод clear() очищає словник
carDictionary = dict(brand="Car", model="Some model", year=2000)
print(carDictionary)
del carDictionary["year"]
print(carDictionary)
carDictionary.clear()
print(carDictionary)
del carDictionary
#print(carDictionary)
Цикл for та словники
Цикл for у Python дозволяє ітеруватися по словниках різними способами, щоб обробити їх ключі, значення або пари ключ-значення. Приклад з відео:
#Ви можете переглядати словник за допомогою циклу for
carDictionary = dict(brand="Dodge", model="Charger")
print("option 1 - loop through keys")
for carkey in carDictionary:
print(carkey)
print("option 2 - loop through values")
for carkey in carDictionary:
print(carDictionary[carkey])
print("option 3 - use values method")
for car in carDictionary.values():
print(car)
print("option 4 - use keys method")
for carkey in carDictionary.keys():
print(carkey)
print("option 5 - use items method")
for carkey, car in carDictionary.items():
print(carkey, car)
Копія словника
Для створення копії словника можна використати метод copy() або конструктор. Приклад з відео:
#Ви не можете скопіювати словник, просто ввівши dictionary2 = dictionary1,
#бо: dictionary2 буде лише посиланням на dictionary1,
#і зміни, зроблені в dictionary1, автоматично також будуть внесені в dictionary2.
#Ви можете використовувати метод copy() або конструктор, щоб створити копію словника.
carDictionary1 = dict(brand="Dodge", model="Charger")
carDictionary2 = carDictionary1.copy()
carDictionary3 = dict(carDictionary2)
print(carDictionary1)
print(carDictionary2)
print(carDictionary3)
carDictionary1["year"]=2020
carDictionary2["color"]="yellow"
print(carDictionary1)
print(carDictionary2)
print(carDictionary3)
Вкладені словники у Python
Вкладені словники у Python — це словники, які містять інші словники як свої значення. Вони дозволяють створювати складні структури даних для зберігання і організації інформації. Приклад з відео:
#Словник може містити словники, це називається вкладеними словниками
carPark = {
"car1":{
"brand":"Dodge",
"model": "Charger"
},
"car2":{
"brand": "Ford",
"model": "Mustang"
}
}
print(carPark["car1"]["brand"])
print(carPark["car1"]["model"])
print(carPark["car2"]["brand"])
print(carPark["car2"]["model"])
# for car in carPark:
# for carIn in carPark[car]:
# print(carPark[car][carIn])
Приклад з відео з кількома вкладеними словниками:
#ви можете додати кілька словників у новий словник
car1 = {
"brand": "Dodge",
"model": "Charger"
}
car2 = {
"brand": "Ford",
"model": "Mustang"
}
carPark = {
"car1": car1,
"car2": car2
}
for car in carPark:
for carIn in carPark[car]:
print(carPark[car][carIn])
В цьому відео поговоримо про:
00:13 Python Dictionary – Словник
02:02 Dictionary Items – Елементи словників
03:26 Duplicates and Dictionaries – Дуплікати і словники
04:54 Dictionary Length – Довжина словника
06:35 Data Types – Типи даних
07:40 type() функція
08:40 dict() конструктор
11:47 Accessing Dictionary Items – Доступ до елементів словника
14:30 keys() метод
18:00 values() метод
20:47 items() метод
23:29 Check if key exists – Перевірка чи є ключ
26:17 Change values in dictionary – Зміна значень у словниках
27:54 update() метод
30:24 pop() and popitem() методи
33:22 del and clear() – ключове слово del та метод clear()
38:21 Dictionary and for loop – Словник і цикл for
44:35 Copy Dictionary – Копіювання словника
47:53 Nested Dictionary – Вкладений словник