Методи роботи зі словниками
Зміст
- 1. Вбудований метод iter(). Отримати ітератор на основі ключів словника
- 2. Метод clear(). Видалити усі елементи зі словника
- 3. Метод copy(). Повернути копію словника (shallow copy)
- 4. Метод dict.fromkeys(). Створити новий словник з заданих ключів та значення
- 5. Метод get(). Отримати значення за заданим ключем
- 6. Метод items(). Повернути представлення елементів словника
- 7. Метод keys(). Отримати нове представлення ключів словника
- 8. Метод pop(). Видалення елементу зі словника з поверненням значення
- 9. Метод popitem(). Витягти довільну пару з словника
- 10. Метод setdefault(). Встановити елемент за замовчуванням
- 11. Метод update(). Оновлення словника
- 12. Метод values(). Отримати список значень
- Зв’язані теми
Пошук на інших ресурсах:
1. Вбудований метод iter(). Отримати ітератор на основі ключів словника
Вбудований метод iter() дозволяє повернути ітератор за ключами словника. Ітератори забезпечують покроковий обхід списку ключів.
Згідно з документацією Python загальна форма використання методу наступна
iterObject = iter(D)
де
- D – вихідний словник;
- iterObject – ітератор, який може використовуватись
Приклад.
# Метод iter() - отримати ітератор # Заданий словник Colors = { 'Red':1, 'Green':2, 'Blue':3 } # Отримати ітератор в iterObj iterObj = iter(Colors) # За ітератором отримати список ключів lst = list(iterObj) # lst = ['Red', 'Green', 'Blue']
⇑
2. Метод clear(). Видалити усі елементи зі словника
Метод clear() видаляє усі елементи зі словника.
Приклад.
# Метод clear() - видалення усіх елементів зі словника # Заданий словник D = { 'A':1, 'B':2, 'C':3 } # Очистити словник D D.clear() # D = { }
⇑
3. Метод copy(). Повернути копію словника (shallow copy)
У випадку, якщо потрібно створити копію зі словника, використовується метод copy(). Згідно з документацією Python загальна форма використання методу наступна
B = A.copy()
де
- A – вихідний словник, з якого потрібно зробити копію;
- B – результуючий словник, який створюється. Цей словник є копією словника A.
Після виконання функції copy() зміни в одному словнику не будуть впливати на зміни в іншому словнику (словники розміщуються в різних ділянках пам’яті).
Приклад.
# Метод copy() - копія словника # Заданий словник D = { 'A':1, 'B':2, 'C':3 } # Отримати копію D і записати її в D2 D2 = D.copy() print("D = ", D) print("D2 = ", D2) # Змінити елемент в D2 за ключем 'B' D2['B'] = 5 # D2 = {'A': 1, 'B': 5, 'C': 3} # Додати нову пару ('E':7) D['E'] = 7 # D = {'A': 1, 'B': 2, 'C': 3, 'E': 7} print("D = ", D) print("D2 = ", D2)
Результат виконання програми
D = {'A': 1, 'B': 2, 'C': 3} D2 = {'A': 1, 'B': 2, 'C': 3} D = {'A': 1, 'B': 2, 'C': 3, 'E': 7} D2 = {'A': 1, 'B': 5, 'C': 3}
⇑
4. Метод dict.fromkeys(). Створити новий словник з заданих ключів та значення
Метод fromkeys() класу dict дозволяє створити новий словник з послідовності заданих ключів та деякого значення. Згідно з документацією Python загальна форма використання методу наступна
D = dict.fromkeys(seq[, value])
де
- D – новостворений словник;
- seq – послідовність ключів, розділених комою та взятих у квадратні дужки;
- value – значення, яке встановлюєтья для усіх ключів з послідовності seq. Якщо значення value не задано, то присвоюється значення None.
Приклад.
# Метод fromkeys() - створити новий словник # 1. Не задано значень values - присвоюється None A = dict.fromkeys([1, 2, 3]) print("A = ", A) # A = {1: None, 2: None, 3: None} # 2. Задаються значення values B = dict.fromkeys([1, 2], 'Z') print("B = ", B) # B = {1: 'Z', 2: 'Z', 3: 'Z'} C = dict.fromkeys(['A', 'B'], [1, 2]) print("C = ", C) # C = {'A': [1, 2], 'B': [1, 2]}
Результат виконання програми
A = {1: None, 2: None, 3: None} B = {1: 'Z', 2: 'Z'} C = {'A': [1, 2], 'B': [1, 2]}
⇑
5. Метод get(). Отримати значення за заданим ключем
Метод get() призначений для отримання значення за заданим ключем якщо ключ є в словнику. Якщо ключа немає в словнику, то повертається значення встановлене за замовчуванням.
Згідно документації Python загальна форма використання методу наступна:
D.get(key[, default])
де
- D – словник, з якого отримується значення;
- key – ключ, який відповідає отримуваному значенню;
- default – значення за замовчуванням, яка встановлюється якщо ключа немає в словнику.
Приклад.
# Метод get() - отримати значення за ключем # Заданий словник A = { 1:'AA', 2:'BB', 3:'CC' } # 1. Виклик get() з 1 параметром (без параметра value) # 1.1. Ключ є в словнику value = A.get(2) # value = 'BB' # 1.2. Ключа немає в словнику value = A.get(5) # value = None # 2. Виклик get() з 2 параметрами # Встановити значення за замовчуванням 'FF' value = A.get(5, 'FF') # value = FF
⇑
6. Метод items(). Повернути представлення елементів словника
Метод items() повертає нове представлення елементів словника у вигляді пар ключ:значення. Загальна форма використання методу наступна:
viewObj = D.items()
де
- viewObj – результуюче представлення;
- D – вихідний словник.
Приклад.
# Метод items() - повернути список пар ключів та значень # Заданий словник A = { 'First':1, 'Second':2 } # Сформувати список пар ключів та значень LA = A.items() # LA = dict_items([('First', 1), ('Second', 2)]) # Інший спосіб, з допомогою класу dict LA2 = dict.items(A)
⇑
7. Метод keys(). Отримати нове представлення ключів словника
Метод keys() дозволяє отримати список ключів. Загальна форма використання методу наступна:
B = A.keys()
де
- A – вихідний словник;
- B – представлення ключів у вигляді списку.
Приклад.
# Метод keys() - отримати нове представлення ключів словника # Заданий словник A = { 1:'One', 2:'Two', 3:'Three' } # Виклик методу keys() B = A.keys() # B = dict_keys([1, 2, 3])
⇑
8. Метод pop(). Видалення елементу зі словника з поверненням значення
Метод pop() використовується для видалення елементу зі словника за заданим ключом. Загальна форма використання методу наступна:
item = D.pop(key[, default])
де
- D – вихідний словник;
- item – значення елементу, який витягується зі словника;
- key – ключ. Якщо ключ key є в словнику, то він видаляється зі словника і повертається його значення в item. Якщо ключа в словнику немає, то повертається значення за замовчування default. Якщо не вказано значення за замовчуванням і ключа немає в словнику, то генерується виключення KeyError;
- default – значення за замовчуванням, яке присвоюється елементу item у випадку, якщо ключа key в словнику не знайдено.
Приклад.
# Метод pop() - витягнути елемент за словником # Заданий словник A = { 1:'One', 2:'Two', 3:'Three' } # 1. Виклик методу pop() з 1 параметром # 1.1. Ключ є в словнику item = A.pop(2) # A = {1:'One', 3:'Three'}, item = 'Two' # 1.2. Випадок, коли ключа немає в словнику # item = A.pop(4) - генерується виключення KeyError: 4 # 2. Виклик методу pop з 2 параметрами # Сформувати новий словник A = { 'One':1, 'Two':2, 'Three':3 } item = A.pop('Two', 5) # A = {'One':1, 'Three':3}, item = 2 # Ключа немає в словнику item = A.pop('Four', 10) # item = 10
⇑
9. Метод popitem(). Витягти довільну пару з словника
Метод popitem() видаляє і повертає випадкову пару (ключ, значення) зі словника. Метод використовується для деструктивного перебору словника, який часто використовується в алгоритмах множин.
Загальна форма використання методу наступна:
item = D.popitem()
де
- D – вихідний словник;
- item – випадкова пара (ключ:значення), що витягується зі словника.
Якщо при виклику popitem() словник буде пустий, то буде згенерована помилка KeyError.
Приклад.
# Метод popitem() - витягнути випадковий елемент зі словника # Заданий словник A = { 1:'One', 2:'Two', 3:'Three' } item = A.popitem() # item = (3, 'Three') # Словник назв лабораторій та кабінетів B = { 233:'Lecture hall', 234:'Programming laboratory', 230:'Network laboratory' } item = dict.popitem(B) # item = (230, 'Network laboratory')
⇑
10. Метод setdefault(). Встановити елемент за замовчуванням
Метод setdefault() дозволяє за заданим ключем встановити елемент за замовчуванням.
Загальна форма використання функції наступна
item = D.setdefault(key[, default])
де
- D – вихідний словник;
- key – ключ, для якого встановлюється значення за замовчуванням default.
Для даного методу можливі різні випадки використання, які наведені у прикладі.
Приклад.
# Метод setdefault() - встановити ключ за замовчуванням # Заданий словник Colors = { 'Red':1, 'Blue':2, 'Green':3, 'Orange':4 } # 1. Виклик методу з 1 параметром (без аргументу default) # 1.1. Ключ є в словнику item = Colors.setdefault('Green') # Результат: # item = 3, # Colors = { 'Red':1, 'Blue':2, 'Green':3, 'Orange':4 } # 1.2. Ключа немає в словнику Colors = { 'Red':1, 'Blue':2, 'Green':3, 'Orange':4 } item = Colors.setdefault('Black') # Результат: # Colors = {'Red': 1, 'Blue': 2, 'Green': 3, 'Orange': 4, 'Black': None} # item = None # 2. Виклик методу з 2 параметрами # 2.1. Ключа немає в словнику, тоді він додається у словник item = Colors.setdefault('Black', 5) # Результат: # item = 5, # Colors = {'Red':1, 'Blue':2, 'Green':3, 'Orange':4, 'Black':5} # 2.2. Значення немає в словнику - ніяких змін Colors = { 'Red':1, 'Blue':2, 'Green':3, 'Orange':4 } item = Colors.setdefault('Blue', 8) # Результат: # item = 2 # Colors = {'Red': 1, 'Blue': 2, 'Green': 3, 'Orange': 4}
⇑
11. Метод update(). Оновлення словника
Метод update використовується для оновлення словнику на основі заданого списку пар (ключ:значення). Метод повертає None.
Загальна форма використання методу
D.update([other])
де
- D – заданий словник;
- other – список типу (ключ, значення).
Приклад.
# Метод update() - оновити словник # Вихідний словник Colors = { 'Red':1, 'Blue':2 } # 1. Ключа немає в словнику Colors.update([('Black',7), ('White',9)]) # Colors = {'Red': 1, 'Blue': 2, 'Black': 7, 'White': 9} # 2. Ключ є в словнику Colors = { 'Red':1, 'Blue':2 } Colors.update([('Red', 20),('Blue', 40)]) # Colors = {'Red': 20, 'Blue': 40}
⇑
12. Метод values(). Отримати список значень
Метод values() дозволяє отримати список значень з заданого словника. Згідно документації Python загальна форма використання методу наступна:
vals = D.values()
де
- D – вихідний словник;
- vals – представлення значень словника D.
При пошуку значень у словнику відбувається операція порівняння. Всі інші види операцій (>, >=, <, <=) викликають виключення TypeError.
Приклад.
# Метод values() - отримати список значень # Вихідний словник Days = { 'Monday':1, 'Tuesday':2, 'Wednesday':3 } # отримати перелік значень v = Days.values() # v = dict_values([1, 2, 3]) # конвертувати в список значень lst = list(v) # lst = [1, 2, 3]
⇑
Зв’язані теми
- Словники. Основні поняття. Характеристики. Створення словників. Доступ до значень у словнику
- Вбудовані функції та операції обробки словників
- Робота зі словниками. Вбудовані функції list(), zip(). Обхід словника. Генератори словників. Сортування. Поєднання словників з множинами
⇑