Rodrick Brown wrote:
      if m.group(1) not in od.keys():
        od[m.group(1)] = int(m.group(2))
      else:
        od[m.group(1)] += int(od.get(m.group(1),0))

Others have pointed out what's wrong with this, but here's
a general tip: Don't repeat complicated subexpressions
such as m.group(1). Doing so makes the code hard to read
and therefore hard to spot errors in (and less efficient
as well, although that's a secondary consideration).

Instead, pull them out and give them meaningful names.
Doing so with the above code gives:

  name = m.group(1)
  value = m.group(2)
  if name not in od.keys():
    od[name] = int(value)
  else:
    od[name] += int(od.get(name, 0))

Now it's a lot eaier to see that you haven't used the
value anywhere in the second case, which should alert
you that something isn't right.

--
Greg
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to