Сравнение перекрывающихся интервалов - PullRequest
0 голосов
/ 21 октября 2019

Мне нужно выбрать строки из текстового файла с разделителями пробелами, где у меня есть один столбец «имен», два столбца чисел, которые представляют интервалы, а другой столбец «значения» некоторых чисел. Мне нужно сравнить интервалы для перекрытия и в случае перекрытия выбрать строку с меньшим номером из «значений». В случае непересекающихся интервалов просто выберите такие строки. Все выделенные строки должны быть записаны в выходной текстовый файл. Я использую Python. Я пытался сделать это с помощью списков, но, может быть, я должен использовать dicts? Может кто-нибудь посоветовать мне с задачей?

Пример txt файла:

name1 1 3 0.5\n
name2 5 15 0.1\n
name3 7 12 0.01\n
name4 10 20 0.5\n
name5 21 35 0.6\n

Я должен получить выходной файл:

name1 1 3 0.5\n
name3 7 12 0.01\n
name5 21 35 0.6\n

Я попробовал какой-то код:

infile = open("initable.txt")
outfile = open("outtable.txt", "a")
lines = infile.readlines()
for line in lines:
    columns = line.rstrip("\n").split()
    start = columns[1]
    end = columns[2]

Iстек для сравнения всех элементов из двух столбцов с условием что-то вроде: a.start <= b.end AND a.end> = b.startt

строк - список включает все строки в виде строк. *

столбцы - это списки со всеми элементами в виде строк:

['name1', '1', '3', '0.5']
['name2', '5', '15', '0.1']

и так далее ...

Я понял, что начало и конец - это строки с \ n.

'1'\n
'5'\n
'7'\n
'10'\n
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...