问题遇到的现象和发生背景
一个列表中包含了大量的单组数据的字典,形式如下,其中部分键的字符串由半角逗号隔开。
[{'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基础的方法实现,但是来回遍历数据库,担心数据太大会跑奔溃。请问是否有办法用尽可能简便的方法实现?