Обход словарей с учётом заданной последовательности

Формируются два словаря:

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. Решение должно быть без применения сторонних библиотек.

Как реализовать обход словарей с учетом заданной последовательности и получить желаемый результат - ?


Ответы (0 шт):