I am looping through a list and creating a regular dictionary.  From
that dict, I create an ordered dict.  I can't think of a way to build
the ordered dict while going through the original loop.  Is there a
way I can avoid creating the first unordered dict just to get the
ordered dict?  Also, I am using pop(k) to retrieve the values from the
unordered dict while building the ordered one because I figure that as
the values are removed from the unordered dict, the lookups will
become faster.  Is there a better idiom that the code below to create
an ordered dict from an unordered list?

unorderedDict = {}
for thing in unorderedList:
        if thing.id in unorderedDict:
                UpdateExistingValue(unorderedDict[thing.id])
        else:
                CreateNewValue(unorderedDict[thing.id])

orderedDict = OrderedDict()
for k in sorted(unorderedDict.keys()):
        orderedDict[k]  unorderedDict.pop(k)
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to