美文网首页Python基础系列
Python 字典的一键多值,即一个键对应多个值

Python 字典的一键多值,即一个键对应多个值

作者: 我爱学python | 来源:发表于2019-08-03 15:43 被阅读24次
    #encoding=utf-8
    
    print '中国'
    
    #字典的一键多值
    
    print'方案一 list作为dict的值 值允许重复'  
    
    d1={}
    key=1
    value=2
    d1.setdefault(key,[]).append(value)
    value=2
    d1.setdefault(key,[]).append(value)
    
    print d1
    
    #获取值
    print '方案一 获取值'
    print list(d1[key])
    
    print '方案一 删除值,会留下一个空列表'
    d1[key].remove(value)
    d1[key].remove(value)
    print d1 
    
    print '方案一 检查是否还有一个值'
    print d1.get(key,[])
    
    print '方案二 使用子字典作为dict的值 值不允许重复'
    
    d1={}
    key=1
    keyin=2
    value=11
    d1.setdefault(key,{})[keyin]=value
    keyin=2
    value=22
    d1.setdefault(key,{})[keyin]=value
    keyin=3
    value=33
    d1.setdefault(key,{})[keyin]=value
    
    print d1
    
    print '方案二 获取值'
    print list(d1[key])
    
    print '方案二 删除值,会留下一个空列表'
    del d1[key][keyin]
    keyin=2
    del d1[key][keyin]
    print d1
    
    print '方案二 检查是否还有一个值'
    print d1.get(key,())
    
    print '方案三 使用set作为dict的值 值不允许重复'
    d1={}
    key=1
    value=2
    d1.setdefault(key,set()).add(value)
    value=2
    d1.setdefault(key,set()).add(value)
    value=3
    d1.setdefault(key,set()).add(value)
    
    print d1
    
    print '方案三 获取值'
    print list(d1[key])
    
    print '方案三 删除值,会留下一个空列表'
    d1[key].remove(value)
    value=2
    d1[key].remove(value)
    print d1 
    
    print '方案三 检查是否还有一个值'
    print d1.get(key,())
    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    

    打印结果如下:

    中国
    方案一 list作为dict的值 值允许重复
    {1: [2, 2]}
    获取值
    [2, 2]
    删除值,会留下一个空列表
    {1: []}
    检查是否还有一个值
    []
    方案二 使用子字典作为dict的值 值不允许重复
    {1: {2: 22, 3: 33}}
    获取值
    [2, 3]
    删除值,会留下一个空列表
    {1: {}}
    检查是否还有一个值
    {}
    方案三 使用set作为dict的值 值不允许重复
    {1: set([2, 3])}
    获取值
    [2, 3]
    删除值,会留下一个空列表
    {1: set([])}
    检查是否还有一个值
    set([])
    

    相关文章

      网友评论

        本文标题:Python 字典的一键多值,即一个键对应多个值

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