Remove duplicates on list merge
This commit is contained in:
1 parent
98230dee32
commit
dac9abc526
1 file changed
+8
@@ -36,10 +36,18 @@ def mergeDicts(a, b):
|
|||||||
stack.append((current_dst[key], current_src[key]))
|
stack.append((current_dst[key], current_src[key]))
|
||||||
elif isinstance(current_src[key], list) and isinstance(current_dst[key], list):
|
elif isinstance(current_src[key], list) and isinstance(current_dst[key], list):
|
||||||
current_dst[key].extend(current_src[key])
|
current_dst[key].extend(current_src[key])
|
||||||
|
current_dst[key] = removeListDuplicates(current_dst[key])
|
||||||
else:
|
else:
|
||||||
current_dst[key] = current_src[key]
|
current_dst[key] = current_src[key]
|
||||||
return dst
|
return dst
|
||||||
|
|
||||||
|
def removeListDuplicates(seq):
|
||||||
|
checked = []
|
||||||
|
for e in seq:
|
||||||
|
if e not in checked:
|
||||||
|
checked.append(e)
|
||||||
|
return checked
|
||||||
|
|
||||||
def flattenList(l):
|
def flattenList(l):
|
||||||
if isinstance(l, list):
|
if isinstance(l, list):
|
||||||
return sum(map(flattenList, l))
|
return sum(map(flattenList, l))
|
||||||
|
|||||||
Reference in new issue
Block a user