转自:http://blog.csdn.net/houyj1986/article/details/22624981

#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,())
打印结果如下:
中国
方案一 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([])

  

最新文章

  1. easyui表单多重验证,动态设置easyui控件
  2. 异步和同步http请求超时机制
  3. hadoop namespace
  4. iOS 开发 atomic 与 nonatomic 区别
  5. TP5在前端时间戳转换为时间格式
  6. 20155219付颖卓《网络对抗》EXP7网络欺诈技术防范
  7. Mac 电脑如何安装mac os 和win7双系统(win7多分区)
  8. CentOS7安装使用ab压力测试工具
  9. win10图片恢复默认照片查看器
  10. springboot 项目中获取默认注入的序列化对象 ObjectMapper
  11. MVVM中viewmodel的理解
  12. Log4Net使用指南之用log4net记录日志到数据库(含有自定义属性)------附Demo例子源代码
  13. java: 保留两位小数4种方法
  14. egret-初步接触
  15. [Mysql]——备份、还原、表的导入导出
  16. 【bzoj4002】有意义的字符串
  17. Android的Parcelable中describeContents方法的作用
  18. 'for each' statements are only available if source level is 5.0
  19. ALPHA-3
  20. docker-清理none镜像等操作

热门文章

  1. gdb core
  2. 取得选中Grid的数据
  3. 转:js获取json中key所对应的value值
  4. CodeForces - 528D Fuzzy Search (FFT求子串匹配)
  5. android 如何获取当前的Activity类名
  6. spark[源码]-TaskSchedulerlmpl类源码
  7. url get与post 请求长度限制
  8. try cath
  9. C++ 单链表的实现
  10. 分享基于Sails.js和React.js的全栈聊天室