Если я правильно понял вопрос, приведенный ниже код должен сработать, он в основном перебирает список и, если обнаруживаются две непрерывные строки 'date', он вставляет строку между ними. Цикл идет в обратном направлении, чтобы избежать проблем со ссылками на вставку новых элементов.
import datetime as dt
items = ['1556294808 2019-04-26 21:36:48 +0530', ' 1 file changed, 1 deletion(-)', '1545318890 2018-12-20 20:44:50 +0530', '1545318858 2018-12-20 20:44:18 +0530', ' 3 files changed, 126 insertions(+), 18 deletions(-)', '1545208408 2018-12-19 14:03:28 +0530', '1545208369 2018-12-19 14:02:49 +0530', ' 2 files changed, 352 insertions(+), 12 deletions(-)', '1545134701 2018-12-18 17:35:01 +0530', ' 3 files changed, 134 insertions(+), 1 deletion(-)', '1545116120 2018-12-18 12:25:20 +0530', '1545115969 2018-12-18 12:22:49 +0530', ' 2 files changed, 25 insertions(+), 17 deletions(-)', '1545114797 2018-12-18 12:03:17 +0530', '1545114768 2018-12-18 12:02:48 +0530', ' 2 files changed, 107 insertions(+), 17 deletions(-)', '1545107389 2018-12-18 09:59:49 +0530', ' 3 files changed, 55 insertions(+), 16 deletions(-)', '1545051306 2018-12-17 18:25:06 +0530', '1545051282 2018-12-17 18:24:42 +0530', ' 3 files changed, 121 insertions(+), 1 deletion(-)', '1545031219 2018-12-17 12:50:19 +0530', '1545031091 2018-12-17 12:48:11 +0530', ' 3 files changed, 327 insertions(+), 6 deletions(-)', '1545027187 2018-12-17 11:43:07 +0530', '1545027168 2018-12-17 11:42:48 +0530', ' 2 files changed, 79 insertions(+), 11 deletions(-)', '1545022804 2018-12-17 10:30:04 +0530', ' 3 files changed, 47 insertions(+), 8 deletions(-)']
new_item = ' 0 files changed, 0 insertions(+), 0 deletions(-)'
fmt = ['%Y %m %d','%H %M %S','%z']
def check_for_date(item, fmt):
try:
date = item.split()
for i in range(3):
dt.datetime.strptime(date[i+1].replace('-',' ').replace(':',' '), fmt[i])
return True
except ValueError as err:
return False
for ii in range(len(items)-1,0,-1):
if (check_for_date(items[ii], fmt)) and (check_for_date(items[ii-1], fmt)):
items.insert(ii, new_item)