首页 技术 正文
技术 2022年11月14日
0 收藏 425 点赞 4,341 浏览 3073 个字

特点:无序状态键唯一 不可变类型:字符串、整型、元组可变类型:列表、字典 字典创建第一种:

dic1={'name':'Nick',"age":'','sex':'man'}
print(dic1['name']) ---------------->Nick

第二种:

dic2=dict((('name','Nick'),('age',18)))
print(dic2) ---------------------->{'name': 'Nick', 'age': 18}

第三种:

dic3=dict([['name','Nick'],['age',18]])
print(dic3) ------------->{'name': 'Nick', 'age': 18}

1.新增

键有则修改,无则新增如:

dic1={'name':'Nick',"age":'','sex':'man'}
dic1['num']=15755055016
print(dic1) ------>{'name': 'Nick', 'age': '', 'sex': 'man', 'num': 15755055016}
dic1={'name':'Nick',"age":'','sex':'man'}
dic1['age']=15
print(dic1) ------->{'name': 'Nick', 'age': 15, 'sex': 'man'}
setdefault方式
键存在,则不做动作
键不存在,则在字典中新增
如:
键存在:
dic1={'name':'Nick',"age":'','sex':'man'}
dic1.setdefault('age',34)
print(dic1) --------->{'name': 'Nick', 'age': '', 'sex': 'man'}

键不存在:

dic1={'name':'Nick',"age":'','sex':'man'}
dic1.setdefault('num',15755055016)
print(dic1) ------------>{'name': 'Nick', 'age': '', 'sex': 'man', 'num': 15755055016}

setdefault是有返回值的

返回值中,若在原字典中新增了数据,则返回新增的值
若原字典存在这个键,则返回原字典的值
如:
新增

dic1={'name':'Nick',"age":'','sex':'man'}
b=dic1.setdefault('num',15755055016)
print(b) --------->15755055016

键存在

dic1={'name':'Nick',"age":'','sex':'man'}
b=dic1.setdefault('age',24)
print(b) -------->18

2.查
通过键去查询值

print(dic1['name'])

打印字典中所有的键

dic1.keys() ------>dict_keys(['name', 'age', 'sex'])

结果非列表类型,若想要列表输出,需要转化

list(dic1.keys()) -------->['name', 'age', 'sex']

3.改
dic1更新dic,有的会被覆盖,没有的会被新增

dic1={'name':'Nick',"age":18,'sex':'man'}
dic2=dict((('name','Nick'),('age',19),('num',15755055016)))
dic1.update(dic2)
print(dic1) --------->{'name': 'Nick', 'age': 19, 'sex': 'man', 'num': 15755055016}
print(dic2) --------->{'name': 'Nick', 'age': 19, 'num': 15755055016}
4.删
删除字典中指定键值对

dic1={'name':'Nick',"age":18,'sex':'man'}
del dic1['name']
print(dic1) ------>{'age': 18, 'sex': 'man'}

删除字典中指定键值对,会有返回值
dic1={'name':'Nick',"age":18,'sex':'man'}
a=dic1.pop('age')
print(a) ------>18
清空整个字典
dic1={'name':'Nick',"age":18,'sex':'man'}
dic1.clear()
print(dic1) ------>{} 表示字典内的键值对被清空,但该字典仍然在内存中

随机删除键值对

dic1={'name':'Nick',"age":18,'sex':'man'}
a=dic1.popitem()
print(a,dic1) -------->('sex', 'man') {'name': 'Nick', 'age': 18}
删除字典
dic1={'name':'Nick',"age":18,'sex':'man'}
del dic1
print(dic1) ------->报错,因为dic1字典被删除,不存在了
5.其他操作涉及的方法
dic=dict.fromkeys(['host1','host2','host3'],'name')
print(dic)------>{'host1': 'name', 'host2': 'name', 'host3': 'name'} #新建字典方式,但存在问题,涉及深浅拷贝,这里只会浅拷贝
字典的嵌套
输出时,遇到字典类型就用键,遇到列表就用位置
av_catalog = {
"欧美":{
"www.youporn.com": ["很多免费的,世界最大的","质量一般"],
"www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
"x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"]
},
"日韩":{
"tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"]
},
"大陆":{
"":["全部免费,真好,好人一生平安","服务器在国外,慢"]
}
}
av_catalog['欧美']["www.youporn.com"][1]='高清'
print(av_catalog) ------>可修改成功
排序    (依据键值进行排序)
dic={'':'','':'','':'','':''}
print(sorted(dic)) ---->['', '', '', '']
print(sorted(dic.values())) ------>['', '', '', '']
print(sorted(dic.items())) ------>[('', ''), ('', ''), ('', ''), ('', '')]
遍历
打印键
for i in dic1:
print(i) ------>name age sex
打印键与值
print(i,dic1(i))   
name Nick
age 18
sex man 直接快速高效的方法
for i,v in dic1.items():
print(i,v)

name Nick
age 18
sex man 需要转换,耽误时间,效率低打印键值对
for i in dic1.items():
print(i) ------>
('name', 'Nick')
('age', 18)
('sex', 'man')
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,494
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295