On Thu, Oct 16, 2008 at 12:19 PM, John Townsend <jtownsen@adobe .comwrote:
Right, this clobbers the existing entry with this new blank one. This
is evidenced by the fact that you're performing an _assignment_ on a
dictionary key rather than calling a _mutator_ method on a dictionary
value. A dictionary has only one value for a given key (but
importantly, that value can be a list).
Switch to a Dict of Lists of Dicts and append to the appropriate list
when adding the new entry, or preferably, start using objects instead
of ad-hoc nested dictionaries.
Regards,
Chris
--
Follow the path of the Iguana...
I'm working with a Dictionary of Dicts. Something like this:
>
myDict = {
'TestName': {
'FileName':{
>
'ct_init':1234,
>
'psl_init':5678 ,
>
'total_test_tim e':7890,
>
'psl_shutdown': 8765,
>
'ct_shutdown':9 021,
>
'total_time':34 21,
},
}
}
>
Accessing values is pretty straightforward (nice change from my Perl days).
For example:
>
myDict['TestName']['FileName']['ct_shutdown']
>
in Python interpreter yields
>
9021
>
However, when I try to add, let's say, a new FileName entry, I end up
replacing the previous FileName entry.
>
In Python interpreter, I try:
>
myDict['TestName'] = {'NewFileName': {}, }
>
I get
>
{'TestName': {'NewFileName': {}}}
>
myDict = {
'TestName': {
'FileName':{
>
'ct_init':1234,
>
'psl_init':5678 ,
>
'total_test_tim e':7890,
>
'psl_shutdown': 8765,
>
'ct_shutdown':9 021,
>
'total_time':34 21,
},
}
}
>
Accessing values is pretty straightforward (nice change from my Perl days).
For example:
>
myDict['TestName']['FileName']['ct_shutdown']
>
in Python interpreter yields
>
9021
>
However, when I try to add, let's say, a new FileName entry, I end up
replacing the previous FileName entry.
>
In Python interpreter, I try:
>
myDict['TestName'] = {'NewFileName': {}, }
>
I get
>
{'TestName': {'NewFileName': {}}}
is evidenced by the fact that you're performing an _assignment_ on a
dictionary key rather than calling a _mutator_ method on a dictionary
value. A dictionary has only one value for a given key (but
importantly, that value can be a list).
>
So, how do I add a new entry without replacing the old entry?
So, how do I add a new entry without replacing the old entry?
when adding the new entry, or preferably, start using objects instead
of ad-hoc nested dictionaries.
Regards,
Chris
--
Follow the path of the Iguana...