EDIT: My question has been getting a lot of follow up questions because on the surface, it doesn't appear to make any sense. For most people, dictionaries are an illogical way to solve this problem. I agree, and have been frustrated by my constraints (explained in the comments). In my scenario, the original KV pairs are going to be encoded as data to be read by another server using the ObjectID. This, however, must be fed into an encoding function as a dictionary. The order does not matter, but the KV pairs must be given a new unique value. The original KV pairs will end up as a new string key in this new dictionary with the ObjectID as a new unique value.

Keep in mind that I am using Python 2.7.

### The Issue

**Note that this is a matter of presenting a dictionary (dictA), encoded by the ObjectID values, within the constraints of what I have been given**

I have a dictionary, say `dictA = {'a':'10', 'b':'20', 'c':'30'}`, and I have a list of `ObjectIdentifier('n')`, where `n` is a number. What is the best way to create `dictB` so that `dictB` is a new dictionary with the **key** equal to `dictA`'s **key:value** pair and the **value** equal to the corresponding `ObjectIdentifier('n')` in the list.

The new `dictB` should be:

`{"'a':'10'":ObjectIdentifier('n'), "'b':'20'":ObjectIdentifier('n+1'), "'c':'30'":ObjectIdentifier('n+2')}`

If that makes any sense.