Python. Методи роботи зі словниками




Методи роботи зі словниками


Зміст


Пошук на інших ресурсах:

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]

 


Зв’язані теми