一.字典
※定义:python的基础数据类型之一,可以存储大量的数据,特别是关系型的数据,Python中唯一的映射类的数据类型。
※格式:{key:value},以键值对的形式存在。
注意:
字典的键值必须是不可变的数据类型,通常用str或数字;字典的值可以是任意数据类型的值。
※优点:
1)字典可以存储大量数据,关系型数据。
2)查询速度快,查询速度高于二分查找。
补充1:
python3.5之前包括3.5版本,字典是无序的。
python3.6开始,字典是有序的。
补充2:
数据类型的分类:
1)可变的(不可哈希)数据类型:list,dict
2)不可变的(可哈希)数据类型:str,int,bool,tuple
二.字典常用操作
※增
1)直接增加键值对
dic[键] = 值
这个方法也适用于改字典
原则:有此key就改,没此key就增键值对。
2)dict.setdefault(键,值)
如果没有设置值,默认为None。
原则:有此key就不做任何操作,但是返回对于的值,没此key就增加键值对。
※删
1)dict.pop('key',默认参数)
作用:通过键删除键值键值对,并有返回值,如果没有此键并设置了默认参数,并且返回设定的第二个参数,否则删除的key对应的value。
2)dict.clear() 清空字典
3)dict.popitem()
作用:python3.5前随机删除一个键值对,但是在python3.6后就直接删除最后一个键值对,有返回值。
4)del
del dict[key]:按照键删除键值对。
del dict:删除整个字典,内存删除。
※改
1)按key改值
dic[key] = 要改的value
2)dict1.update(dict2)
作用:将dict2中的所有键值对覆盖并添加到dict1中,dict2不变。
※查
1)按key查找
格式:dict[key]
2)dict.get(key,默认参数)
没有找到不会报错,默认返回None,有默认参数返回默认参数。
3)for循环
注意:遍历整个字典和遍历字典的key同理
※其他用法
1)dict.keys()
作用:类似于列表的容器,里面装着所有的key,可以转换成list,可以遍历。
2)dict.values()
作用:类似于列表的容器,里面装着所有的value,可以转换成list,可以遍历。
3)dict.items()
作用:类似于列表的容器,里面装着所有的键值对,使用多个元组将每个键值对隔开,可以转换成list,可以遍历。
4)len(dict)
作用:字典键值对的个数。
三.分别赋值
例:
a,b = 10,20
a,b = [10,20]
a,b = [(1,2),(3,4)]
面试题
a = 10
b = 20
用一句语句将a,b的值换为
a = 20
b = 10
a,b = b,a