Вот мое решение:
In [1]: string = '''2018-05-04 16:47:56.000 113 1
...: 2018-05-04 16:48:45.000 113 2
...: 2018-05-04 16:49:17.000 113 1
...: 2018-05-04 16:49:27.000 113 2
...: 2018-05-04 16:49:48.000 113 1
...: 2018-05-04 16:49:57.000 113 2
...: 2018-05-04 16:50:15.000 113 1
...: 2018-05-04 16:51:01.000 113 2
...: 2018-05-04 16:51:23.000 113 1
...: 2018-05-04 16:51:33.000 113 2
...: 2018-05-07 15:42:13.000 114 1
...: 2018-05-07 15:42:16.000 114 1
...: 2018-05-07 15:42:26.000 114 1
...: 2018-05-07 15:42:35.000 114 2
...: 2018-05-07 15:42:43.000 114 2
...: 2018-05-07 15:42:54.000 114 1
...: 2018-05-07 15:43:02.000 114 1
...: 2018-05-07 15:43:11.000 114 2
...: 2018-05-07 15:43:20.000 114 2
...: 2018-05-07 15:43:35.000 114 1
...: 2018-05-07 15:43:42.000 114 1
...: 2018-05-07 15:43:51.000 114 2
...: 2018-05-07 15:43:58.000 114 2'''
In [2]: data = string.splitlines()
In [3]: data
Out[3]:
['2018-05-04 16:47:56.000 113 1',
'2018-05-04 16:48:45.000 113 2',
'2018-05-04 16:49:17.000 113 1',
'2018-05-04 16:49:27.000 113 2',
'2018-05-04 16:49:48.000 113 1',
'2018-05-04 16:49:57.000 113 2',
'2018-05-04 16:50:15.000 113 1',
'2018-05-04 16:51:01.000 113 2',
'2018-05-04 16:51:23.000 113 1',
'2018-05-04 16:51:33.000 113 2',
'2018-05-07 15:42:13.000 114 1',
'2018-05-07 15:42:16.000 114 1',
'2018-05-07 15:42:26.000 114 1',
'2018-05-07 15:42:35.000 114 2',
'2018-05-07 15:42:43.000 114 2',
'2018-05-07 15:42:54.000 114 1',
'2018-05-07 15:43:02.000 114 1',
'2018-05-07 15:43:11.000 114 2',
'2018-05-07 15:43:20.000 114 2',
'2018-05-07 15:43:35.000 114 1',
'2018-05-07 15:43:42.000 114 1',
'2018-05-07 15:43:51.000 114 2',
'2018-05-07 15:43:58.000 114 2']
In [11]: datas = list(map(lambda s: s.rsplit(' ', 2), data))
In [12]: datas
Out[12]:
[['2018-05-04 16:47:56.000', '113', '1'],
['2018-05-04 16:48:45.000', '113', '2'],
['2018-05-04 16:49:17.000', '113', '1'],
['2018-05-04 16:49:27.000', '113', '2'],
['2018-05-04 16:49:48.000', '113', '1'],
['2018-05-04 16:49:57.000', '113', '2'],
['2018-05-04 16:50:15.000', '113', '1'],
['2018-05-04 16:51:01.000', '113', '2'],
['2018-05-04 16:51:23.000', '113', '1'],
['2018-05-04 16:51:33.000', '113', '2'],
['2018-05-07 15:42:13.000', '114', '1'],
['2018-05-07 15:42:16.000', '114', '1'],
['2018-05-07 15:42:26.000', '114', '1'],
['2018-05-07 15:42:35.000', '114', '2'],
['2018-05-07 15:42:43.000', '114', '2'],
['2018-05-07 15:42:54.000', '114', '1'],
['2018-05-07 15:43:02.000', '114', '1'],
['2018-05-07 15:43:11.000', '114', '2'],
['2018-05-07 15:43:20.000', '114', '2'],
['2018-05-07 15:43:35.000', '114', '1'],
['2018-05-07 15:43:42.000', '114', '1'],
['2018-05-07 15:43:51.000', '114', '2'],
['2018-05-07 15:43:58.000', '114', '2']]
In [20]: l = [datas[0]]
In [21]: prev = datas[0][2]
In [22]: for i, j, k in datas[1:]:
...: if prev == k:
...: continue
...: l.append([i, j, k])
...: prev = k
...:
In [23]: l
Out[23]:
[['2018-05-04 16:47:56.000', '113', '1'],
['2018-05-04 16:48:45.000', '113', '2'],
['2018-05-04 16:49:17.000', '113', '1'],
['2018-05-04 16:49:27.000', '113', '2'],
['2018-05-04 16:49:48.000', '113', '1'],
['2018-05-04 16:49:57.000', '113', '2'],
['2018-05-04 16:50:15.000', '113', '1'],
['2018-05-04 16:51:01.000', '113', '2'],
['2018-05-04 16:51:23.000', '113', '1'],
['2018-05-04 16:51:33.000', '113', '2'],
['2018-05-07 15:42:13.000', '114', '1'],
['2018-05-07 15:42:35.000', '114', '2'],
['2018-05-07 15:42:54.000', '114', '1'],
['2018-05-07 15:43:11.000', '114', '2'],
['2018-05-07 15:43:35.000', '114', '1'],
['2018-05-07 15:43:51.000', '114', '2']]