[snip] > # Get Levels List > for Element in Elements: > Lev_List['Level_%i' % (Element['Level'])] = [] > > # Append Element to corresponding Level > for Element in Elements: > Lev_List['Level_%i' % (Element['Level'])].append(Element['Name']) [snip snip] > Probably the first loop is a little redundant, but performance is not > one of my concerns now, but in the future the project will not be > composed by a handful of spaces, probably by hundreds or more. > I think a better way to do this is to check if 'Level_%i' is in your dictionary already. so the loop becomes
Lev_List = {} for Element in Elements: keystr = 'Level_%i' % Element['Level'] if not Lev_List.has_key(keystr): Lev_List[keystr] = [] Lev_List[keystr].append(Element['Name']) And of course you can go the EAFP (easier to ask forgiveness than permission) route and use a try/accept block Lev_List = {} for Element in Elements: keystr = 'Level_%i' % Element['Level'] try: Lev_List[keystr].append(Element['Name']) except KeyError: Lev_List[keystr] = [Element['Name']] I suspect the try/accept would be the fastest, but you'd have to timeit to be sure, of course. HTH, -Luke _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor