Есть словарь: d = {'a': '1', 'b': '2', 'c': '3'} и есть строка: stroka = 'a3a2c' Если элемент строки есть среди значений словаря, необходимо вывести соответствующий значению ключ. Если среди ключей - то вывести значение по ключу значение. Вывести необходимо в две строки, значения отдельно от ключей. Т.е. для строки 'a3a2c' ожидаемый вывод '113' и 'cb' Как вывести значения по ключу, я разобрался: for i in stroka: if i in d.keys(): print(d[i], end='') А вот вывести ключ по значению у меня не получается: for j in stroka: if j in d.values(): print(?????, end='')
Ответ Как то так: d = { 1: '1', '2': 2, 3: '3', } def get_key(d, value): for k, v in d.items(): if v == value: return k print(get_key(d, '1')) print(get_key(d, 2)) print(get_key(d, 42)) Консоль: 1 2 None Вообще, когда мне нужно получать значение по ключу и ключ по значению, я завожу два словаря.