У меня есть список, подобный этому:
mylist = [(20, 'Start', '2008-10-10', 'TBS'),...,(20, 'End', '2008-11-09', 'NG'),
(21, 'Start', '2008-12-10', 'TBS'),...,(21, 'End', '2008-12-15', 'G'),
(22, 'Start', '2009-01-10', 'TBS'),...,(22, 'End', '2009-12-10', 'B'),..]
Я положил '...' в приведенном выше примере, чтобы сказать, что есть другие элементы для каждого идентификатора, такие как 20, 21 и 22 в списке, но яне хочу ихЕдинственные элементы, которые мне нужны, это элементы, которые включают «Начало» или «Конец». (Другие элементы имеют слова, отличные от этих двух слов.)
Я хочу создать вложенный список, подобный этому:
[[20, 'Start', '2008-10-10', 'End', '2008-11-09', 'NG'] ,
[21, 'Start', '2008-12-10', 'End', '2008-12-15', 'G'],
[22, 'Start', '2009-01-10', 'End', '2009-12-10', 'B']]
Вот мой код:
code = 0
brr = []
for row in myList:
if row[1] == "Start":
arr = []
code = row[0]
arr.append([row[0], row[1], row[2]])
continue
if row[0] == code and row[1] == "End":
arr.append([row[1], row[2], row[3]])
brr.append(arr)
for k in brr:
print(k)
Но проблема в том, что он создает что-то вроде этого:
[[[20, 'Start', '2008-10-10', 'End'], ['2008-11-09', 'NG']] ,
[[20, 'Start', '2008-10-10', 'End'], ['2008-11-09', 'NG']] ,
[[20, 'Start', '2008-10-10', 'End'], ['2008-11-09', 'NG']] ,
[[21, 'Start', '2008-12-10', 'End'], ['2008-12-15', 'G']],
[[21, 'Start', '2008-12-10', 'End'], ['2008-12-15', 'G']],
[[22, 'Start', '2009-01-10', 'End'], ['2009-12-10', 'B']]]
И для каждого элемента у меня есть несколько строк всписок.Не знаю почему?Извините, если мой вопрос слишком длинный.