一:学习内容

  • 字典概念
  • 字典创建
  • 字典访问
  • 字典添加
  • 字典删除
  • 字典遍历
  • 字典与列表比较

二:字典概念

1.使用键值对(key-value)存储,具有极快的查找速度

2.注意:字典是无序的

3.特性:

  • 字典中的key必须唯一
  • key必须是不可变的对象
  • 字符串、整数、元组等都是不可变的,可以作为key
  • list是可变的,不能作为key

三:字典创建

1.创建空字典

dict0={}

2.创建有元素的字典

dict1 = {"tom":60, "tester":88,"lili":100}

四:字典访问

1.获取:字典名[key]  没有这个key就会报错

dict1 = {"tom":60, "tester":88,"lili":100}

print(dict1["tom"])

dict1 = {"tom":60, "tester":88,"lili":100}

print(dict1["jojo"])  #没有这个key会报错

2.获取:dict1.get(key)  没有这个key返回None

dict1 = {"tom":60, "tester":88,"lili":100}

print(dict1.get("jojo")) #没有这个key不会报错,返回None

五:字典添加

1.字典名[key] = value,如果key存在字典中就为修改

dict1 = {"tom":60, "tester":88,"lili":100}

dict1["huawei"] = 99

print(dict1)

#因为一个key对应一个value,所以多次对一个key赋值其实就是修改这个key的值

dict1 = {"tom":60, "tester":88,"lili":100}

dict1["tom"] = 70

print(dict1)

六:字典删除

1.字典名.pop(key)

dict1 = {"tom":60, "tester":88,"lili":100}

dict1.pop("tom")

print(dict1)

七:字典遍历

1.遍历key

dict1 = {"tom":60, "tester":88,"lili":100}
for key in dict1:
    print(key,dict1[key])

2.遍历value

dict1 = {"tom":60, "tester":88,"lili":100}
for value in dict1.values():
    print(value)

3.遍历key和value

dict1 = {"tom":60, "tester":88,"lili":100}
for key,value in dict1.items():
    print(key,value)

4.枚举遍历key,遍历key和key的序号,这个序号是我们存入字典里key的顺序

dict1 = {"tom":60, "tester":88,"lili":100}
for no,key in enumerate(dict1):
    print(no,key)

八:字典与列表的区别

和list比较:
1、字典查找和插入的速度极快,不会随着key-value的增加变慢;列表查找和插入的速度会随着数据量的增加而变慢
2、字典需要占用大量的内存,内存浪费多,(多存了key的部分);列表占用空间少,浪费内存少

最新文章

  1. ZOJ Problem Set - 1365 Mileage Bank
  2. java命令行引入jar包
  3. 异步dcfifo的读写
  4. 抓取Js动态生成数据且以滚动页面方式分页的网页
  5. Sublime Text 2 配置及其使用
  6. jquery text--val--html
  7. js 获取10个不重复随机数
  8. 活生生的例子:qInstallMessageHandler接受指定类型的函数指针,这样就可以随心所欲的让程序员自定义函数名以及函数位置
  9. 学习笔记TF060:图像语音结合,看图说话
  10. Linux下安装配置jdk
  11. svn没有权限报出的错
  12. 【kafka学习之六】kakfa消息生产、消费示例
  13. java 编译
  14. 质心坐标(barycentric coordinates)及其应用
  15. 对于长沙互联网发展,一个外来两年Java程序员的所见所感所愿
  16. Spring源码分析之IoC容器初始化
  17. Asp.net 子域共享cookie
  18. 【转】谷歌三大核心技术(一)The Google File System中文版
  19. MFC控件之Combo Box
  20. win7 32位 安装opencv-python后,运行时提示 "from .cv2 import *: DLL load failed: 找不到指定的模块" 的解决办法

热门文章

  1. Binding的简单使用
  2. Hive编程指南读书笔记(1):
  3. linux下NVIDIA GPU驱动安装最简方式
  4. 2.bat文件的基本用途
  5. mysql的auto-rehash简介
  6. Delphi 处理异常情况
  7. 如何使用sqlalchemy获取表的主键、以及每一个字段名和对应类型
  8. linux 网卡配置详情
  9. Redis位操作介绍
  10. 火焰图(Flame Graphs)的安装和基本用法