Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python字典更新和附加_Python_Dictionary - Fatal编程技术网

Python字典更新和附加

Python字典更新和附加,python,dictionary,Python,Dictionary,我有一本这样的字典: {"TIM" : [[xx,yy],[aa,bb]] , "SAM" : [[yy,cc]] } 如果集合中还没有值,我想将值[tt,uu]添加到“SAM” 此外,我还想添加带有[ii,pp]的“KIM” 我有两个if:s的解决方案,但是有更好的吗?我怎么能做这些事情 编辑: 使用defaultdict >>> from collections import defaultdict >>> d = defaultdict(list) #

我有一本这样的字典:

{"TIM" : [[xx,yy],[aa,bb]] , "SAM" : [[yy,cc]] }
如果集合中还没有值,我想将值
[tt,uu]
添加到
“SAM”

此外,我还想添加带有
[ii,pp]
的“KIM”

我有两个
if
:s的解决方案,但是有更好的吗?我怎么能做这些事情

编辑:

使用defaultdict

>>> from collections import defaultdict
>>> d = defaultdict(list) # create the dictionary, then populate it.
>>> d.update({"TIM":[['xx', 'yy'], ['aa', 'bb']], "SAM":[['yy', 'cc']]})
>>> d # see its what you wanted.
defaultdict(<type 'list'>, {'TIM': [['xx', 'yy'], ['aa', 'bb']], 'SAM': [['yy', 'cc']]})
>>> d["SAM"].append(['tt','uu']) # add more items to SAM
>>> d["KIM"].append(['ii','pp']) # create and add to KIM
>>> d # see its what you wanted.
defaultdict(<type 'list'>, {'TIM': [['xx', 'yy'], ['aa', 'bb']], 'KIM': [['ii', 'pp']], 'SAM': [['yy', 'cc'], ['tt', 'uu']]})
>>从集合导入defaultdict
>>>d=defaultdict(list)#创建字典,然后填充它。
>>>更新({“TIM”:[['xx',yy'],['aa',bb']],“SAM”:[['yy',cc']})
>>>看看你想要什么。
defaultdict(,{'TIM':[[['xx','yy'],['aa','bb']],'SAM':[['yy','cc']})
>>>d[“SAM”]。追加(['tt','uu'])#向SAM添加更多项目
>>>d[“KIM”].追加(['ii','pp'])#创建并添加到KIM
>>>看看你想要什么。
defaultdict(,{'TIM':[['xx','yy'],['aa','bb']],'KIM':[['ii','pp']],'SAM':[['yy','cc'],['tt','uu']})

如果您希望设置字典值,这没有问题:

>>> from collections import defaultdict
>>> d = defaultdict(set)
>>> d.update({"TIM":set([('xx', 'yy'), ('aa', 'bb')]), "SAM":set([('yy', 'cc')])})
>>> d["SAM"].add(('tt','uu'))
>>> d["KIM"].add(('ii','pp'))
>>> d
defaultdict(<type 'set'>, {'TIM': set([('xx', 'yy'), ('aa', 'bb')]), 'KIM': set([('ii', 'pp')]), 'SAM': set([('tt', 'uu'), ('yy', 'cc')])})
>>从集合导入defaultdict
>>>d=默认DICT(设置)
>>>更新({“TIM”:set([('xx','yy'),('aa','bb')),“SAM”:set([('yy','cc')]))
>>>d[“SAM”]。添加(('tt','uu'))
>>>d[“KIM”]加上(('ii','pp'))
>>>d
defaultdict(,{'TIM':set([('xx','yy'),('aa','bb')),'KIM':set([('ii','pp')),'SAM':set([('tt','uu'),('yy','cc')]))

您可以使用
setdefault
方法:

>>> d = {'TIM':[['xx', 'yy'], ['aa', 'bb']], 'SAM':[['yy', 'cc']]}
>>> d.setdefault('SAM', []).append(['tt','uu'])
>>> d.setdefault('KIM', []).append(['ii','pp'])
>>> d
{'TIM': [['xx', 'yy'], ['aa', 'bb']], 'KIM': [['ii', 'pp']], 'SAM': [['yy', 'cc'], ['tt', 'uu']]}
>>> d = {'TIM':[['xx', 'yy'], ['aa', 'bb']], 'SAM':[['yy', 'cc']]}
>>> d.setdefault('SAM', []).append(['tt','uu'])
>>> d.setdefault('KIM', []).append(['ii','pp'])
>>> d
{'TIM': [['xx', 'yy'], ['aa', 'bb']], 'KIM': [['ii', 'pp']], 'SAM': [['yy', 'cc'], ['tt', 'uu']]}