python 字典数据类型day05

字典 dict

不可变(可哈希)的数据类型:int,str,bool,tuple。

可变(不可哈希)的数据类型:list,dict,set。

子弹优点:字典的查询速度非常快

字典缺点:他的缺点就是内存消耗巨大。

字典的创建方法:
#dick字典的创建

#方法一
dic=dict((('ont',1),('two',2),('thrre',3)))
print(dic)

#方法二
dic2=dict(ont=1,two=2,three=3)
print(dic2)

#方法三 最常用
dic3=dict({"ont":1,"two":2,"three":3})
print(dic3)

验证字典的合法性

dic1={[1,2,3]:"laex",1:666}    #键要是不可变的数据类型  
print(dic1)

dic2={1:"alex",1:"小白",2:"wusir"}   #键是唯一的
print(dic2)

字典的 增 删 改 查 重点

字典的增删改查
   增   通过键值对直接增加
dic={"name":"太白","age":18}
dic["wenght"]=75   没有这个weight这个键,就增加值对
print(dic)

dic={'name':"太白",'age':18}
dic['wenght']=75
print(dic)
dic['name']='小白'
print(dic)
dic["name"]="barry"   当有name这个键的时候就会变更name里面元素的内容
print(dic)

#setdefault ***重点***
dic={"name":"太白","age":18}
dic.setdefault("height",175)  没有”height“就直接添加这个键
print(dic)   #{'name': '太白', 'age': 18, 'height': 175}

dic.setdefault("name","darry")#有name这个键,就不会变
print(dic)   #{'name': '太白', 'age': 18, 'height': 175}

dic={"name":"太白","age":18}
alex=dic.setdefault("name")
print(alex) #会返回name里面的值出来

   
pop  ***重点***
dic={"name":"太白","age":18}
# ret=dic.pop("name")
# print(dic,ret)
ret1=dic.pop("n",None)
print(ret1,dic)

dic={"name":"太白","ahg":18}
ret=dic.popitem() #默认删除最后一个,有返回一个值
print(ret,dic)

clear清空字典里面的内容
dic={"name":"太白","age":18}
dic.clear()
print(dic)
 
通过键值直接改
dic={"name":"太白","age":18}
dic["name"]="barry"
print(dic)  # {'name': 'barry', 'age': 18}


zneg
update
dic={"name":"太白","age":18}
dic.update(sex="男",height=175)
print(dic) #{'name': '太白', 'age': 18, 'sex': '男', 'height': 175}

dic={"name":"太白","age":18}
dic.update([(1,"a"),(2,'b'),(3,'c'),(4,'d')])
print(dic)

dic1={'name':"jin",'gae':18,"sex":"male"}
dic2={"name":"alex","weight":75}
dic1.update(dic2)
print(dic2)
print(dic1)

 
直接[搜索关键字]
dic={"name":"太白","age":18}
print(dic["name"])


#get ***重点****
dic={"name":'太白',"age":18}
v=dic.get("name")
print(v)`

v1=dic.get("name1")
print(v1)# None没有搜索到结果返回None

v=dic.get("name2")
print(v)#None没有搜索到结果返回None


#keys()
dic={"name":'太白',"age":18}
print(dic.keys())   #只能查询到头部 dict_keys(['name', 'age'])
#values()
dic={"name":"太白","age":18}
print(dic.values())# 只能查询到内容   dict_values(['太白', 18])


#items()
dic={"name":"太白","age":18}
print(dic.items())   #查询到所有的内容

字典的嵌套 重点

dic = {
   'name':'汪峰',
   'age':48,
   'wife':[{'name':'国际章','age':38}],
   'children':{'girl_first':'小苹果','girl_second':'小怡','girl_three':'顶顶'}
}
#
# # 1. 获取汪峰的名字。
# ubd=dic['name']
# print(ubd)
# #
# # 2.获取这个字典:{'name':'国际章','age':38}。
#
# djk=dic['wife'][0]
# print(djk)
#
#
# #
# # 3. 获取汪峰妻子的名字。
# djk=dic['wife'][0]
# jbk=djk['name']
# print(jbk)
#
#
#
# #
# # 4. 获取汪峰的第三个孩子名字。
# lk=dic['children']['girl_three']
# print(lk)
#

 

原文地址:https://www.cnblogs.com/luomou/p/13660689.html