Randy Bush wrote: > now i want to add a second count column, kinda like > > bin = {} > for whatever: > for [a, b] in foo: > x = 42 - a > if bin.has_key(x): > bin[x.b] += 1 > else: > bin[x.b] = 1 > bin[x.not b] = 0 > for x, y, z in bin.iteritems(): > print x, y, z > > should the dict value become a two element list, or is > there a cleaner way to do this?
It would probably help if you explained what the real problem is you're trying to solve. Using a two element list to store a pair of counts has a bad code smell to me. That said, you could write your code something like: bin = {} for whatever: # NOTE: brackets are unnecessary for a, b in foo: x = 42 - a # NOTE: 'in' is generally faster than has_key() if x in bin bin[x][0] += 1 else: bin[x] = [1, 0] # NOTE: extra parens necessary to unpack count list for x, (y, z) in bin.iteritems(): print x, y, z STeVe -- http://mail.python.org/mailman/listinfo/python-list