字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的:
Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的。
Value:任意数据(int,str,bool,tuple,list,dict,set),包括后面要学的实例对象等。
在Python3.5版本(包括此版本)之前,字典是无序的。
在Python3.6版本之后,字典会按照初建字典时的顺序排列(即第一次插入数据的顺序排序)。
当然,字典也有缺点:他的缺点就是内存消耗巨大。
优点:查询速度快,映射型数据
字典的常用操作:
增: dict['键']=值 无添加,有更改 dict.setdefault('键','值') 无添加,有不变,且返回原来的值 有返回值:dict.setdefault('键') 如果键存在,返回键对应的值 如果键不存在,则给字典添加这个键,他的值为None,且返回none
删: dict.pop['键'] 删除字典中的键值对,并返回删除的值(如果键不存在报错key Error) 如果没有这个键,可以设置返回值,dict.pop['222',dddd] 不会报错,返回dddd dict.popitem() 3.5版本前随机删除一个键值对 3.6版本后默认删除最后一对,返回一个元祖,字符串逗号分割,字典空了再删报错 del dict['键'] 没有返回值,直接对字典操作 当键不存在时报错 del dict 删除字典 dict.clear() 清空字典
改: dict['键']=值 无则添加,有则修改 update dict.update(键='值',键='值') 添加键值对,以有的键会更改值 dict1.update(dict2) 把字典2添加到字典1,有相同的键,2会覆盖1的值
查: dict['键'] 返回键对应的值(没有键会报错) dict.get('键','返回值') 键存在的情况下,返回值,不存在返回提示返回值 dict.keys() 返回字典键组成的列表包含于括号中----dict.keys(['键1','键2']) 类似列表 可用list强转 dict.values() 返回字典的值组成的列表包含于括号中-----dict.value('值1'.'值2') 类似列表 dict.items() 返回 dict_items([('1', 11), ('2', 22), ('j', 212)]) 可用dict强转为字典
分别赋值
a,b=1,2 #分别给a,b赋值 print(a,b) a,b=b,a #同样再做赋值 print(a,b) a,b,c =(1,2,3) #同数目的变量赋值同长度元祖元素 print(a,c) a,b=[100,101] #同数目的变量赋值同长度的列表元素 print(a,b) # 赋值:用相同数目的变量分别赋值类似的结构类型中的元素 # 我们可以试着给用在字典中: # k,v={'1':11} # print(k,v) # 这样会报错,因为字典只能赋值到键,所以我们用dic.items() for k,v in dic.items(): print(k,v) #返回字典的每一对键,值
dict.fromkeys('键为可迭代对象','值')
创键一个字典,字典的键为可迭代对象的每一个元素,值都时相同的