I have no idea were to start on this function,could someone please explain it. All that I have figured out are defining a new list and using a if/else to differentiate between a list with even amount of numbers and one with an odd amount...

This function returns a copy of the list, sorted, while leaving the original unmutated. It needs to be assigned to a variable. See the example in this post for a cases where we sort the list in place on the assumption that it is a literal list being passed to the function. [4,5,5,4] is a literal.

Study the example for clues. If your code looks complicated, it probably is doing too much. Think through the logic to find ways to simplify your steps and reduce code bloat.