Встроенные функции и операции обработки словарей
Содержание
- 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:'К' } # Изменить элемент в словаре 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. Общая форма использования операции 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 нет в словаре, то добавить пару [wrd: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(). Обход словаря. Генераторы словарей. Сортировка. Сочетание словарей с множествами
⇑