python字典列表计算重组

问题遇到的现象和发生背景

一个列表中包含了大量的单组数据的字典,形式如下,其中部分键的字符串由半角逗号隔开。
[{'a': '1'}, {'b,': '2'}, {'c': '3'}, {'a': '4'}, {'a,b': '5'}, {'a,b,c': '6'}]

1、现想先将各字典中键根据半角逗号分隔开,并且分解为两个新的字典,例如上面列表中最后一个元素{'a,b,c': '6'},要变成[……{'a': '6'},{'b': '6'},{'c': '6'}]

2、每个键分解后,最终形成一个仅包含一组字典数据的列表,就像下面这样:
[{'a': '1'}, {'b,': '2'}, {'c': '3'}, {'a': '4'}, {'a': '5'}, {'b': '5'}, {'a': '6'},{'b': '6'},{'c': '6'}]

3、然后遍历这个列表,将字典中键相同的字典合并为一个新字典,但是后面的数值以字符串形式链接起来,如下:
[{'a': '1,4,5,6,'}, {'b,': '2,5,6,'}, {'c': '3,6,'}]
或者变成列表也行,如:
[['a','1,4,5,6,'], ['b,', '2,5,6,'], ['c','3,6,']]
形式如上即可。
注意,每个数字字符串链接后面都要跟上一个半角逗号,例如上面的{'a': '1,4,5,6,'}(6后面就有一个,)且字典中的每个值最好不重复。

根据这个逻辑我自己也能用python基础的方法实现,但是来回遍历数据库,担心数据太大会跑奔溃。请问是否有办法用尽可能简便的方法实现?

可以一次遍历构造的

lst = [{'a': '1'}, {'b,': '2'}, {'c': '3'}, {'a': '4'}, {'a,b': '5'}, {'a,b,c': '6'}]
res = {}
for dt in lst:
    for dtkey in dt.keys():
        rkeys = dtkey.split(',')
        for rkey in rkeys:
            if rkey == '':
                continue
            if rkey not in res:
                res[rkey] = ''
            res[rkey] += dt[dtkey] + ','
lres = [{key:res[key]} for key in res]
print(lres)