Словники
Словники в Python
Словник - це набір об'єктів будь-якого типу, який має ключ та значення. Записується за допомогою фігурних дужок, ключ та значення відділяються двокрапкою, наступні елементи розділяються комою.
{ключ1: значення1, ключ2: значення2, ... ключN: значенняN}
Наприклад:
m = {'a': 1, 'b': 2, 'c': 3}
Ключем можуть бути числа, рядки та кортежі.
Значення елементів словника можна змінювати.
Словники не підтримують такі операції як зріз, конкатенацію, тому що вони не є послідовностями.
Словник можна створити і таким способом:
dict(ключ1 = значення1, ключ2 = значення2, ... ключN = значенняN)
або dict({ключ1 = значення1, ключ2 = значення2, ... ключN = значенняN})
Для звернення до елемента ми вказуємо в квадратних дужках його ключ:
m = {'a': 1, 'b': 2, 'c': 3}
m['b']
Якщо елемент відсутній, то бачимо наступне повідомлення:
KeyError:
Наприклад:
m = {'a': 1, 'b': 2, 'c': 3}
print(m['k'])
Результат: KeyError: 'k'
Також наявність ключа в словнику можна перевірити за допомогою оператора in:
>>>m = {'a': 1, 'b': 2} >>>'b' in m True
Про наявність, або відсутність елемента в словнику вказує результат - істина True або хиба False.
Змінити значення елемента можна за допомогою ключа:
m = {'a': 1, 'b': 2, 'c': 3}
m['c'] = 5
print(m)
Результат: {'a': 1, 'b': 2, 'c': 5}
Можна додати новий елемент в словник у кінець списку:
m = {'a': 1, 'b': 2, 'c': 5}
m['k'] = 10
print(m)
Результат: {'a': 1, 'b': 2, 'c': 5, 'k': 10}
Функція len() дозволяє порахувати кількість ключів у словнику.
m = {'a': 1, 'b': 2, 'c': 5, 'k': 10}
a = len(m)
print(a)
Результат: 4
Видалити елемент із словника допоможе оператор del:
m = {'a': 1, 'b': 2, 'c': 5, 'k': 10}
del m['a']
print(m)
Результат: {'b': 2, 'c': 5, 'k': 10}
Основні методи роботи з словниками:
1. get(ключ) - повертає значення ключа, якщо він відсутній, то значення буде None.
t = {10: 'морозиво', 20: 'молоко', 30: 'печиво'} k = t.get(10) print(k)
Результат: морозиво
2. keys() - повертає всі ключі словника
t = {10: 'морозиво', 20: 'молоко', 30: 'печиво'} k = t.keys() print(k)
Результат: dict_keys([10, 20, 30])
3. update(словник) - додає нові елементи у словник.
t = {10: 'морозиво', 20: 'молоко', 30: 'печиво'}
t.update({40: 'цукерки'})
print(t)
Результат: {10: 'морозиво', 20: 'молоко', 30: 'печиво', 40: 'цукерки'}
4. values() - повертає об'єкт dict_valyes, який містить всі значення словника.
t = {10: 'морозиво', 20: 'молоко', 30: 'печиво'}
x = t.values() print(x)
Результат: dict_values(['морозиво', 'молоко', 'печиво'])
5. pop(ключі, значення по замовчуванню) - видаляє з словника елемент з вказаним ключем і показує його значення.
m = {'a': 1, 'b': 2, 'c': 5, 'k': 10}
x = m.pop('b')
print(m)
print(x)
Результат: {'a': 1, 'c': 5, 'k': 10}
2
Запитання для самоперевірки знань
1. Як записуються словники та їх елементи?
- словники записуються за допомогою фігурних дужок, а елементи - ключ: значення.
- словники записуються за допомогою квадратних дужок, а елементи - ключ: значення.
- словники записуються за допомогою квадратних дужок, а елементи - значення через кому.
2. Як можна перевірити наявність певного ключа в словнику:
- get(ключ)
- pop(ключ)
- event(ключ)
3. Як можна видалити елемент із словника?
- get(ключ)
- pop(ключ)
- event(ключ)
4. Для чого призначений метод get()?
- для видалення елементів
- для створення нового списку
- для перевірки наявного елемента
- для вставлення нового елемента
5. Для чого призначений метод keys()?
- дозволяє отримати всі ключі словника
- дозволяє отримати новий словник
- дозволяє отримати перший ключ в словнику
6. Для чого призначений метод update()?
- додає ключі у словник
- додає список у словник
- додає елементи у словник
- додає два словники
7. Для чого призначений метод values()?
- повертає усі дані словника
- повертає всі значення ключів
- повертає всі значення словника
Завдання для самостійного виконання
З підручника Руденко, Інформатика 8 клас, 2021р., для поглибленого вивчення с. 207.
1.
Чи правильно створено словник?
Вибери оператори, які
створюють змінну типу dict.
Завдання може мати декілька правильних відповідей.
c1=["Собака": "A dog", "Кінь": "A horse", "Птиця": "A bird"]
a={
}
books
= {"І.Котляревський": " Енеїда", М.Гоголь ":
"Тарас Бульба"}
a={'1:a',
'2:b', '3:c', '4:d'}
2.
Знайди визначення
Познач правильне
продовження визначення.
Словник (dict) – це
послідовність неупорядкованих пар «ключ:значення».
пронумерований
незмінюваний набір об’єктів.
упрорядкована
незмінювана послідовність символів.
3.
Познач характеристики словників
Вибери твердження, які
правильно характеризують тип даних словник.
Завдання може мати декілька првильних відповідей.
Кількість елементів у словнику може збільшуватись або зменшуватись.
Як
і для списків, для словників підтримуються операції добування зрізів.
Словники
представляють невпорядковані колекції довільних об’єктів.
У
словниках доступ до елементів виконується за індексом.
4.
Вибери оператор
Дано словник:
B = { 1:'Mon', 2:'Tue', 3:'Wed', 4:'Thu' }
Познач оператор, який надасть змінній k значення зі словника B за ключем 3.
k
= B['Wed']
k
= {3:'Wed'}
k
= В[3]
5.
Знайди результат виконання оператора
Дано фрагмент коду:
books = {"І.Котляревський": " Енеїда", "М.Гоголь ": "Тарас Бульба", "Т.Шевченко": "Гайдамаки", "О.Гончар": "Собор"}
k='О.Гончар' in books
Знайди значення змінної k після виконання коду.
False
True
6.
Познач фрагменти коду
Познач фрагменти коду,
що утворюють список k ключів словника A.
Завдання може мати декілька првильних відповідей.
k=
list(A.keys())
print
( A.values())
k=
dict(A.keys())
k=[]
for key in А: k = k+[key]
Коментарі
Дописати коментар