python 提取出无法被合并的字典

有列表储存的一些字典分别存放字符和对应的数量.

[{'f': 1, 'h': 1}, {'y': 1, 'c': 1, 'm': 1, 'a': 1}, {'f': 1, 'h': 1, 'c': 2,, 'a': 1}, {'f': 1, 'h': 1, 'y': 1, 'd': 1, 'c': 1, 'a': 1}, {'f': 1, 'h': 1, 'd': 1,  'a': 1}, {'f': 1, 'h': 1, 'y': 1, 'd': 1, 'm': 1, 'a': 1}, {'f': 1, 'h': 1, 'd': 1, 'c': 1, 'm': 1, 'a': 1}, {'f': 1, 'c': 2, 'b': 1, 'm': 1, 'a': 1}, {'f': 1, 'd': 1, 'c': 2, 'b': 1, 'a': 1}, {'f': 1, 'd': 1, 'c': 1, 'b': 1, 'm': 1, 'a': 1}, {'f': 1, 'y': 1, 'c': 2, 'b': 1, 'a': 1}, {'f': 1, 'c': 1, 'b': 1, 'm': 1, 'a': 1}, {'f': 1, 'y': 1, 'd': 1, 'c': 1, 'a': 1}, {'f': 1, 'y': 1, 'd': 1, 'b': 1, 'm': 1, 'a': 1}, {'f': 1, 'h': 1, 'y': 1, 'c': 1, 'b': 1, 'a': 1}, {'f': 1, 'h': 1, 'c': 2, 'b': 1, 'a': 1}, {'f': 1, 'h': 1, 'y': 1, 'b': 1, 'm': 1, 'a': 1}, {'f': 1, 'h': 1, 'c': 1, 'b': 1, 'm': 1, 'a': 1}, {'f': 1, 'h': 1, 'b': 1, 'a': 1}]

这边是裁剪的一部分.
如果一个字典中对应的字符在另一个字典里都有,且数量小于或等于,则该字典可以被合并.
比如

a={'t': 1, 'h': 1}
b={'t': 2, 'h': 2}

a可以被合并.

a={'t': 1, 'h': 1, 'a': 1}
b={'t': 2, 'h': 2}

a不可以被合并.

算出合并后的列表.

举个例子

import operator
a={'t': 1, 'h': 1}
b={'t': 2, 'h': 2}
lst = []
if operator.eq(a.keys(),b.keys()):
    lst.append(a)
else:
    lst.append(a)
    lst.append(b)

c={'t': 1, 'h': 1, 'a': 1}
d={'t': 2, 'h': 2}
lst1 = []
if operator.eq(c.keys(),d.keys()):
    lst1.append(c)
else:
    lst1.append(c)
    lst1.append(d)
    
print(lst,lst1)