First thing first: modifying a list (or dict, set etc) while iterating over it is usually a very bad idea.
In your case, the simplest solution is probably to just merge the two lists first then sort the list using the key
callback:
list1.extend(list2)
list1.sort(key=lambda x: x.date)