python3 处理列表嵌套字典去重
2024-10-10 22:44:59
def list_dict(dictlist):
def function(date):
return date['ip']
dictlist_new = []
for list_dict in dictlist:
list_dict['backPath'] = [list_dict['backPath']]
dictlist_new.append(list_dict)
resource_new = []
num = 0
dictlist_new.sort(key=function)
for dictlist in dictlist_new:
if num == 0:
resource_new.append(dictlist)
else:
if resource_new[0]['ip'] != dictlist['ip']:
old = resource_new[0]
del resource_new[0]
resource_new.append(dictlist)
resource_new.append(old)
elif resource_new[0]['ip'] == dictlist['ip']:
resource_new[0]['backPath'].append(dictlist['backPath'][0])
num += 1
return resource_new
resource_list = [
{"ip": "10.23.13.8", "backPath": '/usr/sap/1111', "user": "root", "PASSWD": "1212121"},
{"ip": "10.23.13.8", "backPath": "/usr/sap/1112", "user": "root", "PASSWD": "1212121"},
{"ip": "10.23.13.9", "backPath": "/usr/sap/1111", "user": "root", "PASSWD": "1212121"},
{"ip": "10.23.13.10", "backPath": "/usr/sap/1111", "user": "root", "PASSWD": "1212121"},
{"ip": "10.23.13.8", "backPath": "/usr/sap/1113", "user": "root", "PASSWD": "1212121"}
]
print(list_dict(resource_list))
"""
整体思路就是将需要合并的字段改为列表
再通过主键的方式校验重复,如果主键重复就将需要合并的字段添加到新的列表中。
不重复则直接返回并将自己添加到一个新列表中
"""
最新文章
- Linux 安装PHP PECL 百分百成功
- JavaScript正则表达式详解(一)正则表达式入门
- oracle-关于dual
- linux bash快捷键
- 编译 curl with ssl
- 我在用的mac软件(2)-终端环境之zsh和z(*nix都适用)
- LeetCode:Word Break(DP)
- PythonOCC 3D图形库学习—导入STEP模型
- 城市平乱(Bellman)
- vg
- 21、手把手教你Extjs5(二十一)模块Form的自定义的设计
- wsimport 命令不是内部命令
- LVS-DR之VIP、DIP跨网段实例
- core dump 配置
- foreach循环详解
- (网页)angularjs中的验证input输入框只能输入数字和小数点
- Python 初识网络
- advStringGrid单元格文字垂直居中
- zoj 3662 第37届ACM/ICPC长春赛区H题(DP)
- .AVLFile Extension