a = [[1, 2], [2, 3], [3, 4], [6, 7]]
b = [[1, 4], [2, 3], [3, 4], [5, 6], [0, 6, 9]]
def merge_anno_query_id(ids):
new_ids = ids.copy()
#print(new_ids)
for i, old_id in enumerate(ids):
add_id = old_id.copy()
for id2 in new_ids:
union =[_ for _ in old_id if _ in id2]
if len(union)>0:
add_id.extend(id2)
new_ids.remove(id2)
if old_id in new_ids:new_ids.remove(old_id)
add_id = list(set(add_id))
add_id.sort()
if add_id not in new_ids:
new_ids.append(add_id)
# print(i, old_id, new_ids)
return new_ids
print(merge_anno_query_id(a))
print(merge_anno_query_id(b))