Ниже приведен фрагмент кода, я пытаюсь отфильтровать список словарей на основе правила фильтрации. Так как правило фильтра изменится, и я не хочу, чтобы жесткий код. Если приведенный ниже фрагмент возвращает значение true, я сохраню этот словарь в отдельном словаре для выполнения дальнейших действий. этот фрагмент кода возвращает False, поскольку он повторяется столько раз, сколько зависит от количества ключей в big_dict. Есть ли способ перебрать big_dict, основываясь только на значениях small_dict. Если бы кто-то мог помочь мне в этом.
new_dict={}
big_dict = {'a': 1, 'b': 2,'c': 3,'d':4,'e':5}
small_dict = {'filter_rule': {'a': 1, 'b': 2, 'e': 5}}
for key, value in small_dict.items():
if key in 'filter_rule':
res = all( value.get( big_key, None ) == big_val for big_key, big_val in big_dict.items() )
if res == True:
new_dict = big_dict
print(new_dict)