input: Write a function to implement an insertion sort algorithm in Python. The function should return the sorted list. If the input list is empty, the function should return an empty list.
  assert insertion_sort([3, 4, 5, 1, 2])==[1, 2, 3, 4, 5]
  assert insertion_sort([3, 5, 10, 1, 2])==[1, 2, 3, 5, 10]
  assert insertion_sort([4, 3, 1, 2])==[1, 2, 3, 4]
  assert insertion_sort([3, 5, 4, 1, 2])==[1, 2, 3, 4, 5]
  assert insertion_sort([])==[]
output: def insertion_sort(arr):
      if not arr:
          return []
      for i in range(1, len(arr)):
          key = arr[i]
          j = i - 1
          while j >= 0 and key < arr[j]:
              arr[j + 1] = arr[j]
              j -= 1
          arr[j + 1] = key
      return arr