I am trying to create a python script and I am stuck with the dictionaries. I have read through some of the other forums but can't seem to get anywhere. I am a very new python programmer so please be gentle. 

What I want to do: 

1) set up a dictionary like this: `{'Name':'userid','jobid:jobid','walltime:walltime,'nodes:nds'}`

2) iterate through a list of entries created from and external function call and extract information to populate the dictionary

3) Problem: I cannot figure out how to append entries to the appropriate keys

For example, I want this: 

```
{‘Name’:’jose’,’jobid’:’001,002,003,005’,’walltime:32:00,240:00,04:00,07:00’,’nodes’:32,32,500’} 

```

Notice for one userid, I have multiple jobids, walltimes and nodes.  

`(len(jobids)==len(walltimes)==len(nodes)` for any one userid but can vary across userids)

I am able to get the script to find the first value for each username, but it never appends. How can I get this to append?

Here is what I have tried

```
from collections import defaultdict
pdict = defaultdict(list)

start the loop:

 # get new values – add these to the dictionary keyed 
 # on username (create a new entry or append to existing entry)
    …
    (jobid,userid,jobname, sessid, nds, tsk, walltime,rest)= m.groups()  

    ...
    if userid in pdict:
       print "DEBUG: %s is currently in the dictionary -- appending entries" %(userid)
       pdict[userid][‘jobid’] = pdict[userid][jobid].append(jobid)    I 
     # repeat for nodes, walltime, etc 

    if not userid in pdict:
        print "DEBUG: %s is not in the dictionary creating entry" %(userid)
        pdict[userid] = {}  # define a dictionary within a dictionary with key off userid
        pdict[userid]['jobid'] = jobid
        pdict[userid]['jobname'] = jobname
        pdict[userid]['nodes'] = nds
        pdict[userid]['walltime'] = walltime

```

I know this is wrong but can’t figure out how to get the append to work. I have tried many of the suggestions offered on this site. I need to append (to the dictionary) the most recent values from the loop keyed to userid

Here is an example of the ouput – it does not append multiple entries for each userid but rather takes only the first value for each userid

> 
> userid jmreill contains data: {'nodes': '1', 'jobname':
>  'A10012a\_ReMig\_Q', 'walltime': '230:0', 'jobid': '1365582'}
> 
> 
> userid igorysh contains data: {'nodes': '20', 'jobname':
>  'emvii\_Beam\_fwi6', 'walltime': '06:50', 'jobid': '1398100'}
> 
> 
> 

Any suggestions? This should be easy but I can’t figure it out!