input: 
  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
  
  # Test cases
  print(first_non_repeating_char([1, 2, 3, 4, 4, 3, 2, 1]))  # Output: None
  print(first_non_repeating_char(['a', 'b', 'b', 'c', 'a']))  # Output: 'c'
  print(first_non_repeating_char([1, 2, 3, 4, 5]))  # Output: 1
  
output:     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