Обход словарей с учётом заданной последовательности
Формируются два словаря:
dict1 = {"foo":"gl", "bar":"foo"}
# по желанию dict1 может быть с перевёрнутыми парами «ключ-значение», т.е. dict1 = {"gl":"foo", "foo":"bar"}
dict2 = {"gl":"a", "foo":"t", "bar":"d"} # ключи не повторяются
Требуется проверить наличие определённого значения и вывести его ключ.
Пример:
k1, v1 = input().split()
подаём bar и d
for k, v in dict2.items():
if k == k1 and v == v1:
print(k)
вывод:
# bar
Подаём bar и a.
Последовательность обхода должна быть следующей: bar:d -> dict1 -> bar:foo -> dict2 -> foo:t -> dict1 -> foo:gl -> dict2 -> gl:a
ожидаемый вывод:
# gl
Проверяться может любая пара и только из dict2. Каждый раз подаётся существующий ключ. Если значение не найдено должно выводиться None. Решение должно быть без применения сторонних библиотек.
Как реализовать обход словарей с учетом заданной последовательности и получить желаемый результат - ?