python wrote: > I played around with a few things and this works but was wondering if > there was a better way to do this. > My first thought was list comprehension but could not get a figure out > the syntax. > > tag23gr is a list of lists each with two items. > g23tag is an empty dictionary when I run the for loop below. > When is is complete each key is a graphic name who's values are a list > of tags. > > for item in tag23gr: > ... value, key = tuple(item) > ... if(g23tag.get(key)):
That should be if key in g23tag: Your version means trouble for keys that evaluate to False in a boolean context, e. g. 0, False, None, "", (),... > ... g23tag[key].append(value) > ... else: > ... g23tag[key] = [value] from collections import defaultdict g23tag = defaultdict(list) for value, key in tag23gr: g23tag[key].append(value) -- http://mail.python.org/mailman/listinfo/python-list