JavaRush /Курсы /Модуль 1: Python Core /Изменение словаря

Изменение словаря

Модуль 1: Python Core
7 уровень , 4 лекция
Открыта

5.1 Добавление элементов

Мы уже научились работать с элементами словаря, теперь давайте разберемся, как просто и быстро изменять этот самый словарь. Начнем, как обычно, с добавления элементов.

Добавление одного элемента

Для добавления нового элемента в словарь можно использовать квадратные скобки []. Если ключ уже существует, его значение будет обновлено.


person = {"name": "Alice", "age": 25}

# Добавляем новый элемент в словарь
person["city"] = "New York"

# Выводим обновленный словарь
print(person)  # Вывод: {'name': 'Alice', 'age': 25, 'city': 'New York'}

Добавление элемента, если ключ отсутствует

Иногда нужно добавить элемент только в том случае, если ключ еще не присутствует в словаре. Это можно сделать, используя условное выражение.


person = {"name": "Alice", "age": 25}

# Добавляем элемент только если ключ отсутствует
if "city" not in person:
    person["city"] = "New York"

# Выводим обновленный словарь
print(person)  # Вывод: {'name': 'Alice', 'age': 25, 'city': 'New York'}

Добавление нескольких элементов с использованием метода update()

Метод update() позволяет добавлять несколько пар ключ-значение одновременно. Можно передать другой словарь или итерируемый объект, содержащий пары ключ-значение.


person = {"name": "Alice", "age": 25}
updates = {"city": "New York", "country": "USA"}

# Обновляем словарь новыми элементами
person.update(updates)

# Выводим обновленный словарь
print(person)  # Вывод: {'name': 'Alice', 'age': 25, 'city': 'New York', 'country': 'USA'}

Также можно использовать именованные аргументы:


person = {"name": "Alice", "age": 25}

# Используем именованные аргументы для добавления элементов
person.update(city="New York", country="USA")

# Выводим обновленный словарь
print(person)  # Вывод: {'name': 'Alice', 'age': 25, 'city': 'New York', 'country': 'USA'}

5.2 Изменение элементов

Изменение элементов работает так же, как и добавление, но если у ключа уже было старое значение, то оно будет заменено на новое.

Обновление значения по ключу

Значение в словаре можно обновить, просто присвоив новое значение существующему ключу.


person = {"name": "Alice", "age": 25, "city": "New York"}

# Обновляем значение по ключу
person["age"] = 26

# Выводим обновленный словарь
print(person)  # Вывод: {'name': 'Alice', 'age': 26, 'city': 'New York'}

Использование метода setdefault()

Метод setdefault() возвращает значение для указанного ключа. Если ключ отсутствует, он добавляется в словарь с заданным значением по умолчанию.


person = {"name": "Alice", "age": 25}

# Используем setdefault для добавления элемента
city = person.setdefault("city", "New York")

# Выводим значение города
print(city)  # Вывод: New York

# Выводим обновленный словарь
print(person)  # Вывод: {'name': 'Alice', 'age': 25, 'city': 'New York'}

Обновление элементов с помощью метода update()

Вы можете использовать метод update() для обновления значений элементов в словаре, используя другой словарь или итерируемый объект.


person = {"name": "Alice", "age": 25}
updates = {"age": 30, "city": "New York"}

# Обновляем словарь с использованием метода update()
person.update(updates)

# Выводим обновленный словарь
print(person)  # Вывод: {'name': 'Alice', 'age': 30, 'city': 'New York'}

5.3 Удаление элементов словаря

Удалять элементы из словаря можно несколькими способами:

Удаление элемента с использованием оператора del

Оператор del удаляет пару ключ-значение из словаря по указанному ключу.


person = {"name": "Alice", "age": 25, "city": "New York"}

# Удаляем элемент по ключу
del person["age"]

# Выводим обновленный словарь
print(person)  # Вывод: {'name': 'Alice', 'city': 'New York'}

Удаление элемента с использованием метода pop(key, def_value)

Метод pop() удаляет элемент с указанным ключом и возвращает его значение. Если ключ отсутствует, можно указать значение по умолчанию, чтобы избежать ошибки.


person = {"name": "Alice", "age": 25, "city": "New York"}

# Удаляем элемент и получаем его значение
age = person.pop("age")

# Выводим удаленное значение
print(age)  # Вывод: 25

# Выводим обновленный словарь
print(person)  # Вывод: {'name': 'Alice', 'city': 'New York'}

Удаление последнего добавленного элемента с использованием метода popitem()

Метод popitem() удаляет и возвращает последнюю добавленную пару ключ-значение. Он особенно полезен в старых версиях Python для работы с неупорядоченными словарями.


person = {"name": "Alice", "age": 25, "city": "New York"}

# Удаляем и получаем последнюю добавленную пару ключ-значение
last_item = person.popitem()

# Выводим удаленную пару
print(last_item)  # Вывод: ('city', 'New York')

# Выводим обновленный словарь
print(person)  # Вывод: {'name': 'Alice', 'age': 25}

Очистка словаря с использованием метода clear()

Метод clear() удаляет все элементы из словаря, оставляя его пустым.


person = {"name": "Alice", "age": 25, "city": "New York"}

# Очищаем словарь
person.clear()

# Выводим очищенный словарь
print(person)  # Вывод: {}
2
Задача
Модуль 1: Python Core, 7 уровень, 4 лекция
Недоступна
Студент - это звучит гордо.
Студент - это звучит гордо.
2
Задача
Модуль 1: Python Core, 7 уровень, 4 лекция
Недоступна
Редактор.
Редактор.
Комментарии (7)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Анатолий Уровень 30
28 января 2026
❤️
Fat.Lilliput Уровень 15
9 января 2026
Чет чем дальше, тем сырее лекции. Можно было бы и подсветить, что метод pop() без дефолтного значения и оператор def выдадут ошибку, если элемента с заданным ключом нет в словаре. popitem() тоже выдаст ошибку, если он вызван для пустого словаря.
Maksym Уровень 22
19 октября 2025
Почему так важно в первом примере называть ключи на русском? B условиях задачи об этом не шла речь, и-за этого мне пришлось 2 раза пересдавать решение 👍
Slevin Уровень 35
27 июня 2025
Два практически идентичных задания. Не интересно
Dmitry Ryabov Уровень 23
30 января 2025
Пункт Использование метода setdefault() всё-таки по смыслу больше подходит для подзаголовка 5.1, чем для 5.2. Этот метод никак не изменяет значение по какому-либо ключу.
UnknownReboot Уровень 30
23 января 2025
Если написать нецензурно элемент в словарь, валидатор не пропустит решение. # Исправьте имя ключа в методе update() на корректное. А так хотелось придать студенту уверенности перед поступлением в универ.
SWK Уровень 26
27 марта 2025
Становится понятнее, на что тратят ресурсы авторы проверок...