Вот подход, который разбирает даты и помещает их в список.
Регулярное выражение в разбиении ''\s|(?<=\d{4})(?=\d)'
говорит, что нужно разделить пробел ИЛИ после четырех последовательных цифр (за которыми следует цифра). Таким образом, год будет отделен от следующих цифр для месяца. Это взгляды и конструкции на будущее в регулярном выражении.
import re
from datetime import date
s = '6 6 19707 7 20013 15 19741 7 19772 17 1983'
dates = re.split(r'\s|(?<=\d{4})(?=\d)', s)
# get length less last 3
i = len(dates) - 3
j = 0
final_date = []
while j <= i:
m, d, yr = dates[j:j+3]
final_date.append(date(int(yr), int(m), int(d)))
j += 3
for d in final_date:
print(d)
Ouput:
1970-06-06
2001-07-07
1974-03-15
1977-01-07
1983-02-17