1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
from functools import reduce
# 待去重嵌套列表(元素为字典)
aa = [{'bigAsset1': '资产1', 'bigAsset2': '资产2'}, {'bigAsset1': '资产2', 'bigAsset2': '资产1'}, {'bigAsset1': '资产3', 'bigAsset2': '资产1'}, {'bigAsset1': '资产1', 'bigAsset2': '资产2'}, {'bigAsset1': '资产2', 'bigAsset2': '资产3'}]
# 待去重嵌套列表(元素为集合)
bb = [{'资产1', '资产2'}, {'资产2', '资产1'}, {'资产3', '资产1'}, {'资产1', '资产2'}, {'资产2', '资产3'}]
cc = [['资产1', '资产2'], ['资产2', '资产1'], ['资产3', '资产1'], ['资产1', '资产2'], ['资产2', '资产3']]
run_function = lambda x,y : x if y in x else x + [y]
aa = reduce(run_function, [[],] + aa)
bb = reduce(run_function, [[],] + bb)
cc = reduce(run_function, [[],] + cc)
print(aa)
# [{'bigAsset1': '资产1', 'bigAsset2': '资产2'}, {'bigAsset1': '资产2', 'bigAsset2': '资产1'}, {'bigAsset1': '资产3', 'bigAsset2': '资产1'}, {'bigAsset1': '资产2', 'bigAsset2': '资产3'}]
print(bb)
# [{'资产1', '资产2'}, {'资产3', '资产1'}, {'资产3', '资产2'}]
print(cc)
# [['资产1', '资产2'], ['资产2', '资产1'], ['资产3', '资产1'], ['资产2', '资产3']]
|