有列表储存的一些字典分别存放字符和对应的数量.
[{'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)