Python基本数据结构之字典

定义:

{key1:value1,key2:value2}

  1、键与值用冒号“:”分开;

  2、项与项用逗号“,”分开;

示例:

1 dic4={
2     'name': 'xiaohu', 
3     'age': 20,
4     'hobby': 'girl'
5 }

特性:

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']) # 字典和元祖都不可以做为键 因为他们都是可变的 字典可以作为后面的值


创建字典
1 dic3 = dict((('2','xiaohu'),)) #调用dict函数
2 print(dic3)
 
字典的操作

1、增

(1)直接新增键值对
1 dic1={'name':'xiaohu'}
2 dic1['age']=20
3 print(dic1) #增加一个
(2)利用函数setdefault()进行添加

2、查

(1)
dic[''] 直接利用key来查值
dic.keys()   dic.values()     dic.items()
1 dic4={'name': 'xiaohu', 'age': 20, 'hobby': 'girl'}
2 print(dic4['name'])
3 
4 print(dic4.keys()) # 通过keys方法来查看字典里所有的键,但是注意的是拿出来的不是一个列表 dict_keys(['name', 'age', 'hobby'])
5 print(type(dic4.keys())) #<class 'dict_keys'>
6 print(list(dic4.keys())) # ['name', 'age', 'hobby'] 将它转换成列表
7 print(list(dic4.values())) #['xiaohu', 20, 'girl'] 将它的值拿出来并且转换成列表
8 print(list(dic4.items())) # [('name', 'xiaohu'), ('age', 20), ('hobby', 'girl')]

3、
改 update
1 dic4={'name': 'xiaohu', 'age': 20, 'hobby': 'girl'}
2 dic4['age']=21
3 print(dic4) #{'name': 'xiaohu', 'age': 21, 'hobby': 'girl'}
4 dic5={'1':111,'age':'2222'}
5 dic4.update(dic5) # 将dic5加入到idc4中去,dic4发生改变,dic5不发生改变, 若有重复的键,将覆盖其值
6 print(dic4) # {'name': 'xiaohu', 'age': '2222', 'hobby': 'girl', '1': 111}
7 print(dic5) # {'1': 111, 'age': '2222'}
 

4、删 del clear pop popitem

 1 dic6={'name': 'xiaohu', 'age': 20, 'hobby': 'girl','height':'180'}
 2 # del dic6['name'] # 删除的是一个键值对
 3 # print(dic6)
 4 
 5 # dic6.clear() #删除一整个字典 字典删除后为空
 6 
 7 # print(dic6.pop('age')) # 删除某一个索引,返回删除的值
 8 # print(dic6)
 9 
10 a=dic6.popitem() # 删除的是随机的
11 print(a,dic6)

5、涉及到的其他操作及方法

1 dic7=dict.fromkeys(['host1','host2','host3'],'test')
2 print(dic7) # {'host1': 'test', 'host2': 'test', 'host3': 'test'}
3 dic8=dict.fromkeys(['host1','host2','host3'],['test','test2'])
4 print(dic8) # {'host1': ['test', 'test2'], 'host2': ['test', 'test2'], 'host3': ['test', 'test2']}

6、后话  字符串拼接 join方法

1 a='123'
2 b='abc'
3 e='444'
4 c=a+b
5 print(c) # 123abc
6 d='---'.join([a,b,e]) # 通过‘---’将字符串拼接
7 print(d)  # 123---abc---444
 

 
 
 


 
 
 

猜你喜欢

转载自www.cnblogs.com/wyh-study/p/11323817.html