input: Write a function to detect and fix potential errors in the given Python function `expand_list`. The original function attempts to modify the list while iterating over it, which can lead to unexpected behavior. The fixed function should copy the list before iterating to avoid this issue.
  assert expand_list([1, 2, 3]) == [1, 2, 3, 1, 2, 3]
  assert expand_list([4, 5, 6]) == [4, 5, 6, 4, 5, 6]
  assert expand_list([7]) == [7, 7]
  assert expand_list([]) == []
output: def expand_list(lst):
      new_lst = lst.copy()
      for item in lst:
          new_lst.append(item)
      return new_lst