Я предоставлю решение без использования каких-либо библиотек.
Прежде всего, вам нужно сгруппировать элементы по последнему полю.
dict = {}
for elem in a:
if elem[-1] not in dict:
dict[elem[-1]] = []
dict[elem[-1]].append(elem[:-1])
print(dict)
{'426.24': [['2012-05-11', 'yes', '44'], ['2013-03-22', 'no', '12'], ['2018-08-13', 'yes', '88']], '450.24': [['2017-05-11', 'yes', '404']]}
Затем сохраните только последний элемент для каждого ключа в словаре .
for key in dict:
dict[key] = sorted([elem[0] for elem in dict[key]], key=lambda x: datetime.datetime.strptime(x, '%Y-%m-%d'))
dict[key] = dict[key].pop()
Тогда просто используйте list comprehension
для фильтрации исходного массива.
a = [elem for elem in a if elem[0] == dict[elem[-1]]]
выход
[['2018-08-13', 'yes', '88', '426.24'], ['2017-05-11', 'yes', '404', '450.24']]