字典的特征:

key-value结构
key必须可hash,且必须为不可变数据类型、必须唯一。 # hash值都是数字,可以用类似于2分法(但比2分法厉害的多的方法)找。
可存放任意多个值、可修改、可以不唯一
无序
查找速度快 常用方法:
info = {'stu01': 'alex', 'stu02': 'jack', 'stu03': 'jucy'}
# 关键字:info.keys(),值:info.values()
print('stu01' in info) # True
print(info['stu01']) # alex 没有会报错
print(info.get('stu01')) # alex 没有不会报错,而是返回None,一般用这个
print(info.pop('stu03')) # jucy 删除,返回删除的值
# info.popitem() 随机删
# del info['stu01'] 删除方法,全局删除 # copy和list的一模一样
# 可多嵌套 print(info.items()) # 把字典转成列表。dict_items([('stu01', 'alex'), ('stu02', 'jack')])
info2 = {1: 2, 'stu02': [22, 1893113111, '男']}
info.update(info2) # 更新和list的extends类似,有对应的值就覆盖,没有对应的值就创建。
print(info) # {'stu01': 'alex', 'stu02': [22, 1893113111, '男'], 1: 2} info.setdefault(2, 'a') # 如果有2这个值就什么都不做,如果没有就把2的值写成'a'
print(info) # {'stu01': 'alex', 'stu02': [22, 1893113111, '男'], 1: 2, 2: 'a'} seq = ('Google', 'Runoob', 'Taobao')
dict = dict.fromkeys(seq)
print("新字典为 : %s" % str(dict)) # 字典为 : {'Google': None, 'Runoob': None, 'Taobao': None}
dict = dict.fromkeys(seq, 10)
print("新字典为 : %s" % str(dict)) # 新字典为 : {'Google': 10, 'Runoob': 10, 'Taobao': 10} # 打印出key和value
for k in info:
print(k, info[k]) # 下面这个方法不建议用,低效,需要把字典转换成列表,而字典的查询速度特别快
for k, v in info.items():
print(k, v)

最新文章

  1. JWS ,JAX-WS ,JAX-RS,REST,Restlet,SOAP 相关概念
  2. 1002. A+B for Polynomials
  3. CC3000 主机驱动API介绍
  4. A线段树
  5. nginx安装-源码编译
  6. js学习--DOM操作详解大全 前奏(认识DOM)
  7. OpenGL ES 2.0 绘制方式
  8. input的type属性引申的日历组件
  9. shell解析命令行的过程以及eval命令
  10. C语言的第 次作业总结
  11. #006 C语言大作业学生管理系统第三天
  12. Nginx代理实现内网主机访问公网服务
  13. 代码: CSS3动画,简单示例(鼠标移上去后,背景图片旋转)
  14. C#字符串长度判断
  15. Http请求帮助类
  16. jquery 实现iframe 自适应高度
  17. python_实现发送邮件功能
  18. linux和mac使用virtualenv使用和安装
  19. 基于jQuery的软键盘
  20. 算法笔记(c++)--c++中碰到的一些用法

热门文章

  1. mirror与repository的关系
  2. 看完这篇文章,我奶奶都懂了https的原理
  3. 在写fegin客户端的时候无法继承接口
  4. Android sdk manager 显示 “Done loading packages”,该怎么办?
  5. Unity注入
  6. hubbledotnet 使用笔记
  7. Android 下的 SQLite 操作封装 —— DatabaseUtil
  8. jdk动态代理和cglib动态代理的区别
  9. Ubuntu11.04 安装cuda4.3
  10. jenkins只能同时构建2个Job怎么办?