Python: Dictionary merge by updating but not overwriting if value exists

前端 未结 7 786
后悔当初
后悔当初 2020-12-15 02:48

If I have 2 dicts as follows:

d1 = {(\'unit1\',\'test1\'):2,(\'unit1\',\'test2\'):4}
d2 = {(\'unit1\',\'test1\'):2,(\'unit1\',\'test2\'):\'\'}
7条回答
  •  不知归路
    2020-12-15 03:18

    Python 2.7. Updates d2 with d1 key/value pairs, but only if d1 value is not None,'' (False):

    >>> d1 = dict(a=1,b=None,c=2)
    >>> d2 = dict(a=None,b=2,c=1)
    >>> d2.update({k:v for k,v in d1.iteritems() if v})
    >>> d2
    {'a': 1, 'c': 2, 'b': 2}
    

提交回复
热议问题