总结day5 ---- ,字典的学习,增删改查,以及字典的嵌套, 赋值运算
内容大纲:
一:字典的定义
二:字典的增加
>1:按照key增加, 无则增加,有则覆盖
>2:setdefault() ,无则增加,有则不变
三:字典的删除
>1:pop() 默认删除最后一个, 通过key 删除内容
>2:popitem() 随机删除一个
>3:del 字典名[索引名]
>4:clear() 清空
四:字典的改
>1:字典名[key] ='内容' 有则覆盖,无则增加
>update() 字典名update(另外一个字典) 有则覆盖,无则增加
> update( key= values)
五:字典的查询
>1字典名['key'] 无则报错
>2 get() 无则返回None
>3 for 循环
>4字典名.key()
>5字典名.values()
>6字典名.item()
六,赋值运算
>1分别赋值运算
七:字典的嵌套
八:相关函数
>1 formkeys()
九:字典的格式化输出
一:字典的定义
1,列表如果存储大量的数据,查询速度相对慢一些。
2,列表存储的数据一般没有什么关联性。
[小潘, 175, 男,......]
针对以上因素,python提供了一个基础数据类型:dict字典。
数据类型的分类:
容器型数据类型:list,tuple,dict set。
非容器型数据类型:str bool int。
可变(不可哈希)的数据类型:list,dict,set。
不可变(可哈希)的数据类型:str,bool, int,tuple
1,字典的键必须是不可变(可哈希hash)的数据类型,唯一的不重复。
字典的值可以是任意数据类型(对象)。
2,字典的查询速度非常快。
二:字典的增加
>1 字典名[key]=valuse
l={'':'a','':'b','':'c','':'d'}
l['']='e'
print(l)
>2 setdefauit(key ,valuse)
l.setdefault('','aaa2')
print(l)
三:字典的删除
>1 pop() 默认删除最后一个, 或者删除key,返回valuse
pop
l.pop('')
print(l)
>2 popitem() 随机删除一个 ,3.5 版本后,默认删除最后一个
l.popitem()
print(l)
>3 del 字典名[index] 公用删除方法.
del l['']
print(l)
>4 clear()
l.clear()
print(l)
四 字典的改
>1 字典名[key] = value 如果有则覆盖,没有则新增
l[''] ='A'
print(l)
>2 update() 如果有则替换,没有则新增.
旧字典名.update(新字典名)
l1 ={'A':'ALEB','':'B','b':'ben'}
l.update(l1)
print(l)
五 :字典的查
>1 : 字典名[key]
print(l[''])
>2 :for 循环查询
print([i for i in l])
print([j for i , j in l.items()])
>3: get() 字典名.get(key) 返回valuse
print(l.get(''))
六 赋值运算 :
>1 :
a = 10
b = 20
a ,b =b,a
print(a)
print(b)
七 : 字典的嵌套
# l5 = {
# 'A':{'1':['a','b','c','d'],'2':['yi','er','san','si']},
# 'B':{'1':['ONE','TWO','STHREE'],'2':['一','二','三','四']}
# }
# print(l5['A']['1'][0])
字典的三级菜单用到了,字典的嵌套
https://www.cnblogs.com/baili-luoyun/p/10170580.html
八 相关函数
>fromkey() 字典名.fromkey(字典1,字典2)
从字典1 中迭代的 和字典2 组成新的字典
l={'':'a','':'b','':'c','':'d'}
l2=['','']
l4= ['','','']
l5 =l.fromkeys(l4,l2)
print(l)
print(l5)
>>>>>
{'': 'a', '': 'b', '': 'c', '': 'd'}
{'': ['', ''], '': ['', ''], '': ['', '']}
九 字典的格式化输出
# l5 = {
# 'A':{'1':['a','b','c','d'],'2':['yi','er','san','si']},
# 'B':{'1':['ONE','TWO','STHREE'],'2':['一','二','三','四']}
# } # print('%(A)s,%(B)%'%(l5))
最新文章
- 侯捷老师C++大系之C++面向对象开发:(一)不带指针的类:Complex复数类的实现过程
- WKWebView
- ubuntu 安装 netbeans C++ IDE
- JSP与Servelt的区别
- ---Under Ubuntu 14.04
- php经典面试题与答案(转先锋教程网)
- [Node.js] 也说this
- 多个UIImage合并成一个UIImage
- vmware-tools安装指南
- 神奇的问题记录【SqlDataAdapter Fill DataSet】
- Bzoj 2186: [Sdoi2008]沙拉公主的困惑 乘法逆元,线性筛,欧拉函数,数论
- Microsoft SqlSever 数据库--软谋1
- jacascript 判断元素尺寸和位置
- servlet什么时候被实例化?【转】
- oracle、grid 用户ID
- Struts学习资料
- [原创]升级Gerrit的commit-msg,检查git commit时必须填写开发任务编号TaskID
- java Socket 获取本地主机ip
- 【Android】WebView读取本地图片
- 什么叫TLD、gTLD、nTLD、ccTLD、iTLD 以及几者之间的关系
热门文章
- sqlserver select 查询字段if判断用法
- sqlserver 开窗函数Over()的使用
- zookeeper的ZAB协议
- php从数组中取出一段 之 array_slice
- $_SERVER[";HTTP_HOST";]
- IntelliJ IDEA 2017版 导入maven项目需要的包
- redis 设置认证
- mysql 开通远程连接
- angularjs之事件绑定、解除事件绑定
- [转]快速入门系列--WebAPI--01基础