字典
字典:也是基础数据类型:字典可以储存大量的数据,关系型数据。同样也是python中唯一的映射类型的数据类型。
数据类型的分类:
可变(不可哈希)的数据类型:list,dict
不可变(可哈希)数据类型:str,int,bool,tuple
字典的键必须是不可变的数据类型(工作中字典的键一般是数字,字符串,)
字典的值可以是任意的数据
字典优点:可以储存大量的数据,关系型数据;查询速度快
Python3.5包括3.5版本之前的字典是无序的。
Python3.6后有序
字典的使用:
dic = {}
增:两种方法
1. dic['name'] = 'abc' 字典中如果有键name,则替换值,没有则新增。
2.dic.setdefault('name','abc') 字典中如果有键name,则不做什么操作,没有则新增。
删:四种方法
1.dic.pop('name') ,dic.pop('name','任意值'):通过键去删除键值对,如果键不存在字典中则报错,如果设置了第二个参数则不会报错,并把第二个参数返回。
2.dic.clear 清空字典
3.dic.popitem() popitem :3.5 之前随即删除某个键值对,3.6以后,删除最后一组键值对。有返回值.
4.del dic['name'] del dic 通过键删除键值对;删除这个列表
改:
dic['name'] = 'acd' 通过键值对修改值
两个字典 update
dic = {"name":"jin","age":18,"sex":"male"}
dic2 = {"name":"alex","weight":75}
dic.update(dic2) # 将dic2中的所有键值对覆盖并添加到dic中,dic2 不变。
print(dic)
print(dic2)
dic.update(a='666',b='222',name='taibai')
查:
print(dic['name'])
dic.get('name')
dic.get('name1','没有此键。。。。')
dic.keys() 把字典中所有的键打印出来
# print(dic.keys(),type(dic.keys())) # 类似于列表的容器中
# l1 = list(dic.keys()) # 转化为List,列表以字典中的键为元素
# print(l1)
# for key in dic.keys(): # 把字典中的键循环打印出来
# print(key)
#dic.values() 可转化成list,可遍历。
# print(dic.values())
# print(list(dic.values())) 转化为字典,并把字典中的键对应的值作为列表中的元素
#dic.items() 可转化成list,可遍历。
# print(dic.items())
分别赋值
# a,b = 10,20
# a,b = [10,20]
# a,b = [(1,2),(3,4)]
# a = 10
# b = 20
# a,b = b,a
把字典中的键对值打印出来
# for i in dic.items():
# i = ('name', '太白')
# i = ('age', 18)
# ....
# '''
# print(i)
# for k,v in dic.items():
# '''
# k,v = ('name', '太白')
# k,v = ('age', 18)
# ....
# '''
# print(k,v)
# for i in dic:
# print(i)
# dict
# print(len(dic))