Код Middle Производительность и память спрашивают часто обновлено

Обнулить тестовые заказы через loc

Условие

Дан список заказов [order_id, email, amount]. Заказы с почтой, оканчивающейся на @test.local, тестовые: их amount нужно сделать 0. Верните [[order_id, amount], ...] в исходном порядке. Решение должно работать в pandas 3.0 (Copy-on-Write), без цикла по строкам.

Примеры

mark_test_orders([[1, "a@mail.ru", 100], [2, "qa@test.local", 500], [3, "b@ya.ru", 70]]) // [[1, 100], [2, 0], [3, 70]]
mark_test_orders([[1, "x@test.local", 1]]) // [[1, 0]]
mark_test_orders([[1, "a@b.c", 5]]) // [[1, 5]]

Как подойти

Подсказки: 2
  1. Маска: df["email"].str.endswith("@test.local")
  2. Присвоение одной операцией через loc.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.