美文网首页Python 指南
Python 的 dict 合并

Python 的 dict 合并

作者: 谢烟客 | 来源:发表于2019-05-20 14:02 被阅读0次

    可能遇到以下几个情况:

    字典之间无数据冲突

    x = { 'a' : 1, 'b' : 2 }
    y = { 'c': 3, 'd' : 4 }
    
    # python 3.5+ merge dict
    z = { **x , **y }    # result: { 'a' : 1, 'b' : 2,  'c': 3, 'd' : 4 }
    
    # python 2.x merge dict
    z = dict(x, **y)    # result: { 'a' : 1, 'b' : 2,  'c': 3, 'd' : 4 }
    

    字典之间有部分 key 冲突

    x = { 'a' : 1, 'b' : 2 }
    y = { 'c': 3, 'b' : 4 }
    
    # python 3.5+ merge dict
    z = { **x , **y }    # result: { 'a' : 1, 'b' : 4,  'c': 3 }
    z1 = { **y, **x }    # result: { 'a' : 1, 'b' : 2,  'c': 3 }
    
    # python 2.x merge dict
    z = dict(x, **y)    # result: { 'a' : 1, 'b' : 4,  'c': 3 }
    z1 = dict(y, **x)    # result: { 'a' : 1, 'b' : 2,  'c': 3 }
    

    结论:

    无论是通过 python3.5+ 的字典合并表达式,还是 python2.x 的字典构造函数合并字典,对于冲突的 key 的值都是从右向左进行覆盖


    • 交流可以加 QQ 群:397234385
    • 或者 QQ 扫码入群:
    qq群.jpg

    相关文章

      网友评论

        本文标题:Python 的 dict 合并

        本文链接:https://www.haomeiwen.com/subject/zdncsxtx.html