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

Тренажер по Python для пользователей с начальным уровнем подготовки.

Тренажер по Python

Словари в Python — это изменяемые коллекции пар «ключ-значение». В этом уроке мы разберём, как добавлять новые элементы в уже существующий словарь и как изменять значения по уже имеющимся ключам. Ты научишься пользоваться квадратными скобками [], методом update(), поймёшь, что происходит при попытке добавить элемент с уже существующим ключом, и увидишь, как аккуратно добавлять элементы только при их отсутствии с помощью методов get() и setdefault(). Задания идут от самых простых до чуть более хитрых ситуаций, которые часто встречаются в реальном коде.

Список тем

Добавь новую пару в словарь простым способом

id: 40020_task1

У нас есть словарь person с именем и возрастом. Добавьте в него ключ 'city' со значением 'Moscow'. Заполните пропуски в коде так, чтобы после выполнения словарь содержал три элемента.

Заполните пропуски
person = {'name': 'Anna', 'age': 25}
person[input1S] = input2S
print(person)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Что будет выведено?

id: 40020_task2

Посмотрите на код внимательно. Что выведет последняя строка print(d['score'])? Выберите правильный вариант.

Выберите правильный вариант ответа
d = {'score': 90}
d['score'] = 95
d['score'] = 100
print(d['score'])
Сообщения
Проверить
Показать подсказку

Исправьте две ошибки при добавлении элементов

id: 40020_task3

В коде есть две ошибки, из-за которых новые элементы не добавляются в словарь. Найдите и исправьте строки, чтобы в итоге словарь содержал ключи 'price' и 'discount'.

Найдите ошибку и исправьте
product = {'name': 'Laptop'}
product[price] = 1200
product['discount'] == 0.1
print(product)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Добавление элемента методом update()

id: 40020_task4

Заполните пропуски, чтобы с помощью метода update() добавить в словарь сразу две новые пары: 'color': 'black' и 'weight': 1.3.

Заполните пропуски
phone = {'brand': 'Apple', 'model': 'iPhone 14'}
phone.input1S({input2S: input3S, input4S: input5S})
print(phone)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Соберите словарь из готовых токенов

id: 40020_task5

Перетащите токены из банка в правильные места, чтобы получился словарь car с четырьмя характеристиками автомобиля. Лишние токены останутся в банке.

Нужно правильно расставить в пропуски предложенные варианты
car = {
    input1S: input2S,
    input3S: input4S,
    'year': input5S,
    'electric': input6S
}
'make'
'Tesla'
'model'
'Model S'
2023
True
'color'
'red'
False
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Соберите код добавления и изменения элементов

id: 40020_task6

Перетащите строки в правильном порядке, чтобы сначала создался словарь, потом добавился новый элемент, а затем изменилось существующее значение. Две строки лишние.

Перетяните в правильном порядке строки из одного блока в другой
scores['math'] = 95
scores = {'math': 80, 'physics': 88}
print(scores)
scores['math'] += 10
del scores['physics']
scores.update({'math': 100})
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Безопасное добавление с setdefault()

id: 40020_task7

Заполните пропуски, чтобы добавить ключ 'bonus' со значением 500 только если его ещё нет в словаре. Если ключ уже есть — значение не должно измениться.

Заполните пропуски
employee = {'name': 'Kate', 'salary': 3000, 'bonus': 200}

employee.input1S('bonus', input2S)

print(employee['bonus'])
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Какой будет итоговый словарь?

id: 40020_task8

После выполнения кода ниже введите ровно то, что будет выведено командой print(data). Введите весь словарь в одну строку без лишних пробелов.

Что должно получиться?
data = {'a': 1, 'b': 2}
data['b'] = 22
data.update({'c': 3, 'a': 10})
print(data)
Сообщения
Проверить
Показать подсказку

Что произойдёт при попытке добавить дублирующийся ключ?

id: 40020_task9

Изучите код и выберите, что будет выведено в последней строке.

Выберите правильный вариант ответа
settings = {'theme': 'dark', 'lang': 'ru'}
settings.update({'theme': 'light', 'notifications': True})
print(settings['theme'])
Сообщения
Проверить
Показать подсказку

Найдите и исправьте ошибку с изменяемым значением по умолчанию

id: 40020_task10

Код содержит классическую ловушку при использовании setdefault() с изменяемым объектом. Исправьте одну строку, чтобы каждый вызов функции создавал новый список.

Найдите ошибку и исправьте
def add_items(key):
    data = {}
    data.setdefault(key, [])
    data[key].append(1)
    return data
 
print(add_items('x'))
print(add_items('y'))
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку
НайтиКурс.Ру