* Bryan:
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])

If this were real code the last statement would generate an exception.


orderedDict = OrderedDict()
for k in sorted(unorderedDict.keys()):
        orderedDict[k]  unorderedDict.pop(k)

This is not even valid syntax.


Please

  (1) explain the problem that you're trying to solve, not how you
      imagine the solution, and

  (2) if you have any code, please post real code (copy and paste).

The above code is not real.


Cheers & hth.,

- Alf
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to