题目
原数据是以下列表,每个元素是一个字典,key是一样的。
li=[{'sw': '44','port': 1}, {'sw': '44', 'port': 2}, {'sw': '45', 'port': 21}, {'sw': '45', 'port': 22}, {'sw': '46', 'port': 2}]
期待的结果
要求是把key为‘sw’的值相同的字典合并成一个,port变为列表[1, 2]
[{'sw': '44','port': [1, 2]}, {'sw': '45', 'port': [21, 22]},{'sw': '46', 'port': [2]}]
没想到什么一步到位的好方法,建个字典统计不同的sw的port,再遍历字典得到最终目标数组。
Update: 支持任意多的key。
其实也没啥特别的,就是再遍历一遍把除主键之外的key都加到字典,核心思想都是一样的。