Теория
Поиск — это просмотр с условием
После списков и словарей у нас уже есть всё необходимое для поиска: цикл перебирает записи, условие проверяет нужный признак, а найденное значение можно сохранить или сразу вернуть из функции.
tasks = [{"id": 1, "title": "Повторить циклы"}, {"id": 2, "title": "Решить задачу"}]found = None for task in tasks: if task["id"] == 2: found = task break print(found["title"])break останавливает ближайший цикл: после совпадения дальнейший просмотр уже не нужен. Значение None помогает отличить «ничего не найдено» от настоящей записи.
Две сортировки отвечают разным потребностям
- sorted(scores) создаёт новый список [3, 7, 9].
- Переменная scores по-прежнему хранит [7, 3, 9].
- scores.sort() изменил бы сам исходный список и вернул None.
scores = [7, 3, 9]ordered = sorted(scores)print(scores)print(ordered)Записям нужно назвать поле сравнения
Числа Python умеет сравнивать напрямую. У записи из нескольких полей нужно выбрать смысл сортировки. Параметр key получает функцию, которая для каждой записи возвращает сравниваемое значение.
tasks = [{"title": "Читать", "priority": 2}, {"title": "Практика", "priority": 1}]ordered = sorted(tasks, key=lambda task: task["priority"])print(ordered[0]["title"])Сначала вопрос, потом инструмент
- Назовите результат. Нужна одна запись, все совпадения или новый порядок?
- Выберите признак. Какое поле проверяем или сравниваем?
- Решите судьбу исходника. Можно ли менять исходный список?
- Учтите отсутствие. Что программа сделает, если поиск ничего не найдёт?
Практика
Остановите поиск
Поиск проверяет 3, затем 7 и затем 9; после третьей проверки цикл останавливается.
Сохраните исходный порядок
Функция sorted(scores) возвращает новый список; исходный scores не меняется.
Не потеряйте результат метода
list.sort изменяет values на месте и возвращает None.
Выберите поле сортировки
Функция key должна вернуть task["priority"], тогда записи сравниваются по числовому приоритету.
Проверьте сортировку локально
У слова «я» длина 1 — это наименьшее значение key.
Итог
Теперь вы умеете находить запись и осознанно выбирать между новым отсортированным списком и изменением существующего.
Эти два действия скоро станут основой поиска дела по номеру и удобного вывода списка дел.
Прогресс
0 / 5Вы ещё не решали задания