Python setdefault-向键添加多个值

Python setdefault-向键添加多个值,python,python-2.7,dictionary,Python,Python 2.7,Dictionary,我正在编写一个脚本,需要按以下格式扫描列表 [jobname,username,permissions] 之后,我需要设置一个字典,它将提供以下格式的信息 jobname -> [username ] - [perm1,perm2] 在这里,perm可以是读/写等权限。因此,对于单个作业,可以存在多个用户,并且可以具有不同的权限 目前我使用的setdefault如下: def mapData(self): """ Create a dictionary

我正在编写一个脚本,需要按以下格式扫描列表

[jobname,username,permissions]
之后,我需要设置一个字典,它将提供以下格式的信息

jobname -> [username ] - [perm1,perm2]
在这里,perm可以是读/写等权限。因此,对于单个作业,可以存在多个用户,并且可以具有不同的权限

目前我使用的setdefault如下:

   def mapData(self):
       """
       Create a dictionary from the list of jobs information 
       gathered in parser
       """
       self.fDict={}
       for jobName,uname,perms in self.TestArray:
           #print jobName
           #Need a way to add multiple perms 
           #The program for now only adds the last perm value as expected
           self.fDict.setdefault(jobName,{})[uname]=perms

           '''
           DEBUG
           '''
           #for k,v in self.fDict.items():
               #print 'Key->>'+str(k)+'->>>>>>>>>>>>>>>>>>'+str(v)
正如在评论中提到的,我只能添加最后一个perm值,这不是需要的。我还需要类似list.append(perms)的值部分,但无法解决这个问题。请提供指导。

您在这里有两个级别;包含列表的字典。添加另一个
setdefault()
调用:

self.fDict.setdefault(jobName, {}).setdefault(uname, []).append(perms)
现在
fDict
包含键入
jobName
的字典,其中包含的字典包含键入
uname
perm
值列表

演示:

你在这里有两个等级;包含列表的字典。添加另一个
setdefault()
调用:

self.fDict.setdefault(jobName, {}).setdefault(uname, []).append(perms)
现在
fDict
包含键入
jobName
的字典,其中包含的字典包含键入
uname
perm
值列表

演示: