Alan Gauld wrote:

"kevin parks" <k...@me.com> wrote
What would this look like if i want to use a straight up built-in dictionary type and not the collections.defaultdict.


Not too different:

Alternatively:

import collections

def foo():
lookup = collections.defaultdict(list)
x = range(10)
y = range(5, 15)
z = range(8, 22)
sets = {'x': set(x), 'y': set(y), 'z': set(z)}
for key, value in sets.items():
        for element in value:
               try:
                   lookup[element] = lookup[element].append(key)
               except KeyError:
                   lookup[element] = [key]
print "\n", lookup, "\n\n"
for x in lookup:
     lookup[x].sort()
     print x, lookup[x]
print "\n"

which I /personally/ found easier to follow than using dict.get()'s or defaultdict (YMMV)

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to