class Solution: def firstUniqChar(self, s): seen = dict() for x in range(len(s)): if s[x] in seen: seen[s[x]][0] += 1 else: seen[s[x]] = [1, x] result = None for key, val in seen.items(): if val[0] == 1 and (result is None or val[1] < result): result = val[1] if result is None: return -1 return result s = Solution() print("Expected: 0") print("Got:", s.firstUniqChar("leetcode"))