Это не очень хорошее использование хеш-таблицы / словаря.Хэш-таблица дает вам быстрый доступ к значениям , учитывая ключи словаря.Здесь вы пытаетесь получить доступ к ключам словаря, учитывая значения (т.е. наоборот).
Это плохо, потому что:
- Это медленно.Вам нужно будет перебрать весь словарь, чтобы найти ваши значения.
- Результат недетерминированный, так как словари не упорядочены.Если вместо этого вы вводите
parm = {'a': 'r', 'b': 'r'}
, check_keys = [r]
, неизвестно, получите ли вы [a]
или [b]
.
Со всем, что сказано и сделано, это должно решить вашу проблему:
parm = {'f': 'w', 'l': 'b', 'b': 'y', 'u': 'o', 't': 'r', 'r': 'g'}
check_keys = ['r','b','o','g','w','y']
insert = ['t','l','u','r','f','b']
insert = []
for v in check_keys:
for k in parm:
if parm[k] == v:
insert.append(k)
print insert
Если, конечно, это часть более крупной программы, я бы предложил вамНЕ используйте вышеупомянутый подход, но вместо этого переоцените весь ваш подход.