字典
1.字典定义
字典是由一对花括号括起来的一组“键值对”,每个键值对就是字典的一个元素,元素在字典中是无序的
dic={key1:value1,key2:value2}
字典中键一般是唯一的,如果重复,最后一个键值对会替换掉前边的。值可以是任何类型,但键必须是类型一致的,且不可变。
字典能够存储大量的数据,而且时关系型数据,查询速度快
字典的键是不可变数据类型,值可以设置任意数据类型
数据类型分类
可变数据类型:list,dict,set(不可哈希)
不可变数据类型:int,str,bool,tuple(可哈希)
按容器分类:
容器类(可承载各种数据类型):list,tuple,dict
2.字典的创建
d=dict{} #创建的空字典
d={键:值}
3.字典的操作
增
dic[键]=值 #字典中有则覆盖,无则添加
dic.setdefault(键,值) #无则添加,有则什么都不做,即保持原来的
删
dic.pop(键) #删除键值对,有返回值
dic.pop(键,None) #当没有要删除的键值对时,不会报错
dic.clear() #清空字典
del dic 删除字典
del dic[键]
改
dic[键]=值
针对两个字典的改
dic={"name":"jin","age":18,"sex":"male"}
dic2={"name":"alex","weight":75}
dic2.update(dic) #用dic的键值对覆盖并添加到dic2中
查
dic[键]
dic.get(键) #默认返回None
其他方法:keys,values,item
dic.keys() #把字典所有的键放到类似列表的容器中,可循环
dic.values() #把字典所有的值放到类似列表的容器中,可循环
dic.items() #把字典所有的键值对以元组的形式放到类似列表的容器中,可循环
dict的特殊类型转换成list
list(dict.keys())
分别赋值
a,b=3,2
print(a,b) #结果为a=3,b=2
字典的嵌套
dic={'name_list':['张三',‘lisi’,'隔壁王叔叔'],
dic2:{'name':'太白','age':12},
}
给列表追加个元素:
4.字典的内置函数
cmp(dic1,dic2) #比较两个字典
len(dic) #求字典的长度
str(dic) #输出字典可打印的字符串表示
5.字典的内置方法
dic.clear() #删除字典中所有的元素
dic.copy() #字典浅copy
dic.fromkeys(seq[,val]) #创建一个新字典,以序列seq中元素做字典的键,val为字典的键对应的初始值
dic.get(key,default=None) #返回指定的键对应的值,如果键不在字典中,则返回none
dic.has_key(key) #如果字典中存有该键,则返回true,否则返回false
dic.items() #以列表返回可遍历的键值元组数组
dic.keys() #以列表返回一个字典所有的键
dic.setdefault(key,default=value) #键不存在,则将添加键,并设置值为value
dic.update(dic2) #把字典dic2中的值添加到dic
dic.values() #以列表形式返回字典中的值
pop(key[,default]) #删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值
popitem() #随机返回并删除字典中的一对键和值
fromkeys的用法
dic=dic.fromkeys('abc','alex')
print(dic) #结果为:{‘a’:'alex','b':'alex','c':'alex'}
dic=dic.fromkeys([1,2,3],[])
print(dic) #打印出的结果为:{1:[],2:[],3:[]}
dic[1]='老男孩'
print(dic) 打印出来的结果为:{1:[‘老男孩’],2:[‘老男孩’],3:[‘老男孩’]} #说明dic.fromkeys 设置一个字典或者列表,改变一个,其他也会改变
posted on 2019-01-02 16:14 qingqing0803 阅读(143) 评论(0) 收藏 举报
浙公网安备 33010602011771号