On 2014-11-04 19:37, Anurag Patibandla wrote:

I am trying to add a key value pair of ("Priority":"1") to queue1, ("Priority":"2") to queue2, and 
("Priority":"3") to queue3.
When I just add ("Priority":"1") to queue1, it works.
But when I run the above code, ("Priority":"3") is being added to all the 
queues.
This looks trivial and I don't understand why this is happening. Is there 
something wrong with what I am doing?

json_split = {}
value = {"Status": "Submitted", "m_Controller": "Python"}
a = range(31)
del a[0]

That's better as:

a = range(1, 31)

for i in a:
     json_split[i] = value

Here the key will be whatever 'i' refers to (1..30) and the value will
be the dict referred to by 'value'.

Try adding the line:

print json_split[1] is json_split[2]

It'll print out 'True'; it's saying that they are the same dict.

You want the values of json_split to be _separate_ dicts.

The fix is simple. Just make a copy of the dict for each one:

for i in a:
      json_split[i] = dict(value)

[snip]

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to