title: First Unique Character in a String
body: <p>Given a string, find the first non-repeating character in it and return its index. If it doesn't exist, return -1.</p>
  
  <pre><code>first_unique('leetcode')  # 0
  first_unique('loveleetcode')  # 2
  </code></pre>
  
  <p>I came up with the following solution.  How can I make it more efficient for very long input strings?</p>
  
  <pre><code>def first_unique(self, s):
      if s == '':
          return -1
  
      for item in s:
          if s.count(item) == 1:
              return s.index(item)
              break
  
      return -1
  </code></pre>