Код Junior merge, join и concat спрашивают часто обновлено

Left merge без размножения строк

Условие

Даны заказы [order_id, user_id, amount] и справочник [user_id, city]. В справочнике у клиента может быть несколько записей: актуальна последняя по списку. Верните для каждого заказа в исходном порядке [order_id, city]. Если клиента нет в справочнике, город "unknown". Число строк должно совпасть с числом заказов.

Примеры

orders_with_city([[1, 10, 500], [2, 20, 300], [3, 30, 900]], [[10, "Москва"], [20, "Казань"], [40, "Пермь"]]) // [[1, "Москва"], [2, "Казань"], [3, "unknown"]]
orders_with_city([[1, 10, 5], [2, 10, 6]], [[10, "Сочи"], [10, "Омск"]]) // [[1, "Омск"], [2, "Омск"]]
orders_with_city([[1, 1, 1]], []) // [[1, "unknown"]]

Как подойти

Подсказки: 2
  1. Сначала уберите дубли ключа в справочнике.
  2. Нужен how="left", затем fillna.

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

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