字典的优点
定义
{key1:value1,key2:value2}
(1)键与值用冒号“:”隔开
(2)项与项用逗号“,”隔开
特性
1、key-value结构,无索引
2、key必须为不可变数据类型,必须唯一(字符串、数字、元组不可变,列表可变)
3、可存放任意多个value、可修改、可以不唯一
4、无序(列表有下标,列表有序)
5、查询速度快,且不受dirt的大小影响(Hash)
创建
1、直接赋值
info={"name":"dading",
"old":"18"}`
2、 dict
dict(name="dading",old="18")
补充:列表是list()
3、 批量生成value
keys=[1,2,3,4,5]
{}.fromkeys(keys,100)
增
1、 直接赋值
d={"name":"dading","old":"18"} #字典是大括号
d["job"]="Teacher" #添加时用中括号
2、 setdefault
说明:创建新的值,并且返回value;如果已有,则不添加,返回旧的value值。
d = {"name":"dading","old":"18"}
d.setdefault("job","Teacher" ) #setdefault返回的是value的值
删
d = {"name":"dading","old":"18"}
d.pop("name") #删除指定key
d.popitem() #随便删除一个key
del d["name"] #删除指定key,与pop方法类似
d.clear() #清空dict
改
1、直接修改
d = {"name":"dading","old":"18"}
d["name"]="xiaofang"
2、先合并再修改
d1 = {"name":"dading","old":"18"}
d2 = {"name":"xiaofang","job":"student"}
d1.update(d2) #把d2合并到d1中,若有相同的key,则用d2中的value代替d1中的value值
查
1、查找指定key对应的value值
d = {"name":"dading","old":"18"}
"name" in d #判断key是否存在于字典中
d["old"] #返回字典中key对应的值,若不存在,则报错
d.get("name",default=None) #返回字典中key对应的值,若key不存在字典中,则返回default的值(默认空值,也可自定义)
2、查找所有
d.keys() #返回一个包含字典所有key值的列表
d.values() #返回一个包含字典所有value值的列表
d.items() #返回一个包含字典所有(key,value)值的列表
循环
d.keys() #返回一个包含字典所有key值的列表
d.values() #返回一个包含字典所有value值的列表
d.items() #返回一个包含字典所有(key,value)值的列表