У меня есть список кортежей. Каждый кортеж состоит из строки и слова. Теперь каждый диктант в этом состоит из списка кортежей. Размер списка составляет около 8 тыс. Записей.
Пример данных:
dataset = [('made of iron oxide', {'entities': [(12, 16, 'PRODUCT'), (17, 20, 'PRODUCT'), (15, 24, 'PRODUCT'), (12, 19, 'PRODUCT')]}),('made of ferric oxide', {'entities': [(10, 15, 'PRODUCT'), (12, 15, 'PRODUCT'), (624, 651, 'PRODUCT'), (1937, 1956, 'PRODUCT')]})]
Отсюда ожидается вывод:
dataset = [('made of iron oxide', {'entities': [(17, 20, 'PRODUCT'), (15, 24, 'PRODUCT')]}), ('made of ferric oxide', {'entities': [(624, 651, 'PRODUCT'), (1937, 1956, 'PRODUCT')]})]
Я хочу удалить перекрывающиеся числа в мой список, т.е. только уникальные номера должны быть там, а остальные должны быть удалены. Как мне добиться этого за Python?
Попытка, сделанная до сих пор:
visited = set()
Output = []
# Iteration
for a, b in dataset:
if not a in visited:
visited.add(a)
Output.append((a, b))