[Python]Python基础⑸

Python基础⑸

1. dict字典

字典是另一种可变容器模型,且可存储任意类型对象

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 

格式:    d = {key1 : value1, key2 : value2 }

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。


 2. dict增删改查

1)增:

复制代码
dic = {'age':18,'name':'liu','sex':'male'} dic['high'] = 185 #没有键值对,添加
结果:{'age': 18, 'name': 'liu', 'sex': 'male', 'high': 185} dic['age'] = 16 #如果有键,则值覆盖
结果:{'age': 16, 'name': 'liu', 'sex': 'male'} dic.setdefault('weight') 结果:{'age': 18, 'name': 'liu', 'sex': 'male', 'weight': None} dic.setdefault('weight',110) #有键值对,不做任改变,没有才添加。
结果:{'age': 18, 'name': 'liu', 'sex': 'male', 'weight':110} dic.setdefault('name','Liu') #有键值对,不做任改变,没有才添加。
结果{'age': 18, 'name': 'liu', 'sex': 'male'}
复制代码

2)删:

复制代码
dic = {'age':18,'name':'liu','sex':'male'} dic.pop('age') #有返回值,按键去删删除
结果:{'name': 'liu', 'sex': 'male'} dic.pop('二哥',None) #可设置返回值,没设置返回值会报错。
结果:{'age': 18, 'name': 'liu', 'sex': 'male'} dic.popitem() #随机删除 有返回值 元组里面是删除键值,Python3.6是默认删除最后一个
结果:{'age': 18, 'name': 'liu'} del dic['name'] #删除指定键值对,如果没有会报错。
结果:{'age': 18, 'sex': 'male'} del dic #直接删除字典,会报错。
结果:报错 dic.clear() #清空字典
结果:{}
复制代码

3)改:

复制代码
dic = {'age':18,'name':'liu','sex':'male'} dic['age'] = 16 #覆盖就是更改
结果:{'age': 16, 'name': 'liu', 'sex': 'male'} dic = {'age':18,'name':'liu','sex':'male'} dic1 = {'name':'刘松','weight':75} dic.update(dic1) #直接替代更新,用字典更新替代老的字典.update前面的是被更新的字典
print(dic) 结果:{'age': 18, 'name': '刘松', 'sex': 'male', 'weight': 75} #更新后的字典
print(dic1) 结果:{'name': '刘松', 'weight': 75} #原字典
复制代码

4)查:

复制代码
dic = {'age':18,'name':'liu','sex':'male'} print(dic.keys()) #字典的键值对 以列表形式输出 但是类型是键值对型
结果:dict_keys(['age', 'name', 'sex']) print(dic.values()) #字典的值 以列表形式输出 但是类型是键值对型
结果:dict_values([18, 'liu', 'male']) print(dic.items()) #字典的键值对 以元祖形式输出 但是类型是键值对型
结果:dict_items([('age', 18), ('name', 'liu'), ('sex', 'male')]) for i in dic: #默认打印出键值,后面跟.value可以打印出数值,后面跟.items可以打印键值对
    print(i) 结果:age name sex print(dic.get('age')) #根据键找对应的数值,不报错 可以自定义值 默认返回 none
结果:18
复制代码



 3. dict嵌套

 dic = { 'name':['alex','wusir','taibai'], 'py9':{ 'time':'1213', 'learn_money':19800, 'addr':'CBD', }, 'age':21 }
复制代码

 

分类:  python入门基础