Вбудовані функції та операції обробки словників
Зміст
- 1. Вбудована функція len(). Кількість елементів у списку
- 2. Доступ до елементу словника за його ключем D[key]
- 3. Операція del. Видалення елементу за ключем
- 4. Операція in. Визначення наявності ключа в словнику
- 5. Операція not in. Визначення відсутності ключа в словнику
- Зв’язані теми
Пошук на інших ресурсах:
1. Вбудована функція len(). Кількість елементів у списку
Вбудована функція len() повертає кількість елементів у заданому словнику. Згідно з документацією Python загальна форма використання функції наступна
count = len(D)
де
- D – заданий словник;
- count – шукана кількість елементів (цілочисельне значення).
Приклад.
# Функція len() - отримати кількість елементів у словнику # Приклад 1 Months = { 1:'Jan', 2:'Feb', 3:'Mar', 4:'Apr', 5:'May', 6:'Jun', 7:'Jul', 8:'Aug', 9:'Sep', 10:'Oct', 11:'Nov', 12:'Dec' } count = len(Months) # count = 12 # Приклад 2. Випадок з вкладеними словниками Position = { 'Manager': { 'Director', 'Deputy Director' }, 'Teacher': { 'Specialist', 'Methodist', 'Senior Lecturer' }, 'Staff': { 'Cleaner', 'Porter', 'Watchman' } } count1 = len(Position) # count1 = 3 count2 = len(Position['Manager']) # count2 = 2 count3 = len(Position['Staff']) # count3 = 3
⇑
2. Доступ до елементу словника за його ключем D[key]
З допомогою операції [] можна отримати доступ до значення, якщо відомо ключ за яким це значення записано. Операція доступу [] дозволяє як читати, так і записувати значення у словнику.
Згідно з документацією Python загальна форма використання операції [] для читання значення наступна:
item = D[key]
тут
- D – заданий словник;
- key – ключ, на основі якого здійснюється пошук елементу item у словнику. Якщо ключа key немає у словнику, то генерується виключення KeyError;
- item – елемент, що отримується за ключем key.
Якщо у словник потрібно записати або додати значення item за ключем key, то операція [] має наступну форму використання
D[key] = item
При запису можливі дві ситуації:
- ключ key є в словнику. У цьому випадку значення item замінює попереднє значення;
- ключа key немає в словнику. У цьому випадку до словника додається нова пара key:item.
Приклад.
# Операція [] - доступ до елементів словника за ключем # Приклад 1 # Заданий словник WorkDays = { 1:'Mon', 2:'Tue' } # Зчитати елемент item = WorkDays[2] # item = 'Tue' # Замість 'Tue' записати 'Sat' WorkDays[2] = 'Sat' # WorkDays = {1: 'Mon', 2: 'Sat'} # Додати нову пару (6:'Sun') WorkDays[6] = 'Sun' # WorkDays = {1: 'Mon', 2: 'Sat', 6: 'Sun'} # Приклад 2. Випадок з вкладеними словниками SubCat1 = { 1:'A', 2:'B', 3:'C' } SubCat2 = { 4:'D', 5:'E' } Category = { 'High':SubCat1, 'Low' :SubCat2 } # Зчитати елемент item = Category['Low'] # item = {4: 'D', 5: 'E'} item2 = Category['Low'][4] # item2 = 'D' # Додати елемент до словника Category['Middle'] = { 6:'J', 7:'K' } # Змінити елемент у словнику Category['High'][3] = 'F' # Category = {'High': {1:'A', 2:'B', 3:'F'}, # 'Low': {4:'D', 5:'E'}, # 'Middle': {6:'J', 7:'K'}}
⇑
3. Операція del. Видалення елементу за ключем
Операція del призначена для видалення елементу зі словника на основі заданого ключа key. Загальна форма використання операції наступна
del D[key]
де
- D – заданий словник;
- key – ключ у словнику, елемент якого потрібно видалити.
Якщо вказати неіснуючий ключ key, то буде згенеровано виключення KeyError.
Приклад.
# Операція del - видалення елементу зі словника # Заданий словник Salary = { 'Director': 120800.0, 'Secretary': 101150.25, 'Locksmith': 188200.00 } # Видалити елемент за ключем 'Secretary' del Salary['Secretary'] # Salary = {'Director': 120800.0, # 'Locksmith': 188200.0} # Спроба видалити неіснуючий ключ # del Salary[5] - так не можна, генерується виключення KeyError: 5 # del Salary['None'] - так само заборонено
⇑
4. Операція in. Визначення наявності ключа в словнику
Щоб визначити, чи існує заданий ключ в словнику, у Python використовується операція in, загальна форма використання якої наступна
f_is = key in D
де
- D – вихідний словник;
- key – ключ, наявність якого у словнику D потрібно визначити;
- f_is – результат логічного типу. Якщо f_is=True, то ключ key є наявний у словнику. Якщо f_is=False, то ключа немає у словнику.
Приклад. У прикладі використовується операція in для того, щоб визначити чи є в словнику Salary ключ, який потрібно видалити. Операція використовується в умовному операторі if.
# Операція in - визначення наявності ключа в словнику # Заданий словник Salary = { 'Director': 120800.0, 'Secretary': 101150.25, 'Locksmith': 188200.00 } # Видалити елемент за ключем 'Secretary' з перевіркою key = 'Secretary' if key in Salary: del Salary['Secretary'] # Salary = {'Director': 120800.0, # 'Locksmith': 188200.0} # Спроба видалити неіснуючий ключ # якщо ключа немає, то виключення KeyError не генерується key2 = 5 if key2 in Salary: del Salary[key2]
⇑
5. Операція not in. Визначення відсутності ключа в словнику
Операція not in повертає результат завжди протилежний операції in. Загальна форма операції not in наступна:
f_is = key not in D
де
- D – вихідний словник;
- key – ключ, наявність якого у словнику D потрібно визначити;
- f_is – результат логічного типу. Якщо f_is = True, то ключа key немає в словнику D. Якщо f_is = False, то ключ key є присутній в словнику D.
Приклад. У прикладі демонструється використання операції not in для визначення того, чи присутній у словнику ключ, який був введений з клавіатури.
# Операція not in - визначення відсутності ключа в словнику # Формування словника слів з їх числовим еквівалентом # 1. Сформувати пустий словник Words = dict() # Words = {} # 2. Ввести кількість слів у словнику count = int(input("Number of words: ")) # 3. Цикл додавання слів i=0 while i<count: print("Input word:") wrd = str(input("Text:")) value = int(input("Value: ")) # Якщо ключа wrd немає у словнику, то додати пару [key:value] if wrd not in Words: Words[wrd] = value i=i+1 # Вивести сформований словник print("\nYou enter the following information:") print(Words)
Результат роботи програми:
Number of words: 3 Input word: Text:wrd1 Value: 100 Input word: Text:wrd2 Value: 200 Input word: Text:wrd3 Value: 250 You enter the following information: {'wrd1': 100, 'wrd2': 200, 'wrd3': 250}
⇑
Зв’язані теми
- Словники. Основні поняття. Характеристики. Створення словників. Доступ до значень у словнику
- Методи роботи зі словниками
- Робота зі словниками. Вбудовані функції list(), zip(). Обхід словника. Генератори словників. Сортування. Поєднання словників з множинами
⇑