У меня есть список списков, подобный этому небольшому примеру:
mylist = [['chr1', '+', '11873', '14409', 'DDX11L1'], ['chr1', '-', '14361', '16765', 'WASH7P']]
Я пытаюсь создать новый список списков, в котором вместо каждого подсписка у меня будет 3 подсписка.на самом деле new list of list
(называемый newmylist) будет иметь 6 подсписков.на самом деле в newmylist каждые 3 новых подсписка аналогичны ожидаемым для столбцов 3 и 4. столбец 3 - начало, а столбец 4 - конец.чтобы вычислить столбцы 3 и 4 в newmylist, я бы разделил (difference between columns 4 and 3) by 3
.например, относительно 1-го sublist
в mylist
:
(14409 - 11873)/3 = 845
, поэтому в 1-м подсписке в newmylisy, начало равно 11873, а конец - 12718, а во 2-м подсписке начало - 12718, а конец - 13563.также в 3-м подсписке начало 13563 и конец 14409. 2-ые 3 подсписка в newmylist будут сделаны из 2-го подсписка из mylist.вот ожидаемый результат
expected output
:
newmylist = [['chr1', '+', '11873', '12718', 'DDX11L1'], ['chr1', '+', '12718', '13563', 'DDX11L1'], ['chr1', '+', '13563', '14409', 'DDX11L1'], ['chr1', '-', '14361', '15162', 'WASH7P'], ['chr1', '-', '15162', '15963', 'WASH7P'], ['chr1', '-', '15963', '16765', 'WASH7P']]
Я пытаюсь сделать это в python
, используя следующий код.этот код не возвращает то, что я ищу.ты знаешь как это исправить?
start = []
for item in mylist:
start.append(item[2])
end = []
for item in mylist:
end.append(item[3])
diff = []
for item in mylist:
d = item[3]-item[2]/3
diff.append(d)
newmylist = []
for i in range(len(mylist)):
content = [i[0], i[1], start[i], start[i]+diff[i], i[4]]
newmylist.append(content)