title: Why KeyError: 0
body: <p>I'm attempting to solve Project Euler 21 but I'm getting KeyError: 0 which normally occurs when you refer to a dictionary key that doesn't exist. However, I thought I had solved that problem with the &lt; 10000 condition. The error refers to the first 'if' statement in the main() function.</p>
  
  <pre><code>sumsdivs = {}
  for i in range(1, 10000):
      tmpls = []
      for j in range(1, i):
          if i % j == 0:
              tmpls.append(j)
      sumsdivs[i] = sum(tmpls)
  
  amls = []
  def main():
      for i in range(1, 10000):
          if sumsdivs[i] &lt; 10000 and sumsdivs[i] == sumsdivs[sumsdivs[i]]:
              if sumsdivs[i] not in amls:
                  amls.append(sumsdivs[i])
              if sumsdivs[sumsdivs[i]] not in amls:
                  amls.append(sumsdivs[sumsdivs[i]])
      return sum(amls)
  
  print(main())
  </code></pre>
  
  <p>Any ideas?</p>