python中字典一个键可以对应多个值吗_Python 字典的一键多值,即一个键对应多个值...

#字典的一键多值

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,())

方案一 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([])

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值