Python基本数据结构之字典
2024-09-01 11:52:38
定义:
{key1:value1,key2:value2}
1、键与值用冒号“:”分开;
2、项与项用逗号“,”分开;
示例:
dic4={
'name': 'xiaohu',
'age': 20,
'hobby': 'girl'
}
特性:
1、key-value结构
2、key必须为不可变数据类型、必须唯一
3、可存放任意多个value、可修改、可以不唯一
4、无序
查询速度快,且不受dict的大小影响,至于为何快?我们学完hash再解释。
字典两大特点: 无序,键唯一
dic = {1:'xiaohu','age':'20','hobby':{'name':'铁锤','age':45},'is_handsome':True} print(dic)
print(dic['hobby']) # 字典和元祖都不可以做为键 因为他们都是可变的 字典可以作为后面的值
创建字典
dic3 = dict((('','xiaohu'),)) #调用dict函数
print(dic3)
字典的操作 1、增 (1)直接新增键值对
dic1={'name':'xiaohu'}
dic1['age']=20
print(dic1) #增加一个
(2)利用函数setdefault()进行添加
2、查 (1)dic[''] 直接利用key来查值
dic.keys() dic.values() dic.items()
dic4={'name': 'xiaohu', 'age': 20, 'hobby': 'girl'}
print(dic4['name']) print(dic4.keys()) # 通过keys方法来查看字典里所有的键,但是注意的是拿出来的不是一个列表 dict_keys(['name', 'age', 'hobby'])
print(type(dic4.keys())) #<class 'dict_keys'>
print(list(dic4.keys())) # ['name', 'age', 'hobby'] 将它转换成列表
print(list(dic4.values())) #['xiaohu', 20, 'girl'] 将它的值拿出来并且转换成列表
print(list(dic4.items())) # [('name', 'xiaohu'), ('age', 20), ('hobby', 'girl')]
3、改 update
dic4={'name': 'xiaohu', 'age': 20, 'hobby': 'girl'}
dic4['age']=21
print(dic4) #{'name': 'xiaohu', 'age': 21, 'hobby': 'girl'}
dic5={'':111,'age':''}
dic4.update(dic5) # 将dic5加入到idc4中去,dic4发生改变,dic5不发生改变, 若有重复的键,将覆盖其值
print(dic4) # {'name': 'xiaohu', 'age': '2222', 'hobby': 'girl', '1': 111}
print(dic5) # {'1': 111, 'age': '2222'}
4、删 del clear pop popitem
dic6={'name': 'xiaohu', 'age': 20, 'hobby': 'girl','height':''}
# del dic6['name'] # 删除的是一个键值对
# print(dic6) # dic6.clear() #删除一整个字典 字典删除后为空 # print(dic6.pop('age')) # 删除某一个索引,返回删除的值
# print(dic6) a=dic6.popitem() # 删除的是随机的
print(a,dic6)
5、涉及到的其他操作及方法
dic7=dict.fromkeys(['host1','host2','host3'],'test')
print(dic7) # {'host1': 'test', 'host2': 'test', 'host3': 'test'}
dic8=dict.fromkeys(['host1','host2','host3'],['test','test2'])
print(dic8) # {'host1': ['test', 'test2'], 'host2': ['test', 'test2'], 'host3': ['test', 'test2']}
6、后话 字符串拼接 join方法
a=''
b='abc'
e=''
c=a+b
print(c) # 123abc
d='---'.join([a,b,e]) # 通过‘---’将字符串拼接
print(d) # 123---abc---444
7、字典与字符串的转换 利用eval()函数转换成字典
a=str({'beijing':{'':1111}}) # 将字典类型转换成字符串类型,使之可以存到文件里
print(type(a))
print(a)
a=eval(a) # 使用eval()函数将字符串转换成字典类型,为了操作从文件取出来的字符串类型的字典进行操作,否则操作报错
print(type(a))
print(a['beijing'])
最新文章
- CocoaPods 1.1.0上传遇到swift问题
- Objective-C中小怪兽的逻辑
- TypeScript &; JavaScript
- cacti应用
- [水煮 ASP.NET Web API2 方法论](3-6)万能路由
- SharePoint 使用脚本为表单绑定事件
- shell脚本去重的几种方法
- org.apache.kafka.common.network.Selector
- Ubuntu 下 glpk 的安装及使用
- Azure VM对远程桌面登录的支持-示例
- VB.NET 内存指针和非托管内存的应用
- BZOJ 4197: [Noi2015]寿司晚宴( dp )
- hdu 1711---KMP
- Android 实战美女拼图游戏 你能坚持到第几关
- 自己实现memcpy,strcpy与strncpy
- 人生苦短之---认识Python
- Intel Digital Innovation Industry Summit(2018.08.17)
- 论文阅读:Prominent Object Detection and Recognition: A Saliency-based Pipeline
- Eclipse下SpringBoot没有自动加载application.properties文件
- Java基本知识进阶