python3笔记十二:python数据类型-Dictionary字典
一:学习内容
- 字典概念
- 字典创建
- 字典访问
- 字典添加
- 字典删除
- 字典遍历
- 字典与列表比较
二:字典概念
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的部分);列表占用空间少,浪费内存少
最新文章
- ZOJ Problem Set - 1365 Mileage Bank
- java命令行引入jar包
- 异步dcfifo的读写
- 抓取Js动态生成数据且以滚动页面方式分页的网页
- Sublime Text 2 配置及其使用
- jquery text--val--html
- js 获取10个不重复随机数
- 活生生的例子:qInstallMessageHandler接受指定类型的函数指针,这样就可以随心所欲的让程序员自定义函数名以及函数位置
- 学习笔记TF060:图像语音结合,看图说话
- Linux下安装配置jdk
- svn没有权限报出的错
- 【kafka学习之六】kakfa消息生产、消费示例
- java 编译
- 质心坐标(barycentric coordinates)及其应用
- 对于长沙互联网发展,一个外来两年Java程序员的所见所感所愿
- Spring源码分析之IoC容器初始化
- Asp.net 子域共享cookie
- 【转】谷歌三大核心技术(一)The Google File System中文版
- MFC控件之Combo Box
- win7 32位 安装opencv-python后,运行时提示 ";from .cv2 import *: DLL load failed: 找不到指定的模块"; 的解决办法