input: Write a function that finds the first non-repeating character in a given list. If the list is empty, return None. If no non-repeating character is found, return None. Otherwise, return the first non-repeating character.
  
  def first_non_repeating_char(lst):
      dct = {}
      
      for l in lst:
          if l in dct:
              dct[l] += 1
          else:
              dct[l] = 1
              
      for l in lst:
          if dct[l] == 1:
              return l
              
      return None
  
  assert first_non_repeating_char([1, 2, 3, 4, 4, 3, 2, 1])==None
  assert first_non_repeating_char([1, 2, 3, 4, 5, 6, 7, 9])==1
  assert first_non_repeating_char([5, 6, 5, 6, 7, 8])==7
  assert first_non_repeating_char([])==None
  assert first_non_repeating_char([9, 8, 9, 7, 8])==7
  assert first_non_repeating_char([0, 0, 0, 0, 0])==None
  assert first_non_repeating_char([1, 6, 1, 6, 2, 3, 4, 5])==2
output: 
  def first_non_repeating_char(lst):
      dct = {}
      
      for l in lst:
          if l in dct:
              dct[l] += 1
          else:
              dct[l] = 1
              
      for l in lst:
          if dct[l] == 1:
              return l
              
      return None
  