字典是非常常用的一种数据结构,它与json格式的数据非常相似,核心就是以键值对的形式存储数据,关于Python中的字典做如下四点说明:
1.构造字典对象需要用大括号表示 {},每个字典元素都是以键值对的形式存在,并且键值对之间用英文状态下的'':''隔开
2.键在字典中是唯一的,不能有重复,对于字符型的键需要用引号引起来。值可以是单个值,也可以是多个值构成的列表,元组或字典
3.字典不再是序列,无法通过为止索引完成元素值的获取,只能通过键索引实现。
4.字典与列表一样,都是可变类型的数据结构。
dict1={'姓名':'张三','年龄':'33','性别':'男','子女':{'儿子':'张四','女儿':'张美'},'兴趣':['踢球','游泳','唱歌']}
print(dict1)
print(dict1['年龄'])
print(dict1['子女']['儿子'])
print(dict1['兴趣'][1])
out:
{'姓名': '张三', '年龄': '33', '子女': {'儿子': '张四', '女儿': '张美'}, '性别': '男', '兴趣': ['踢球', '游泳', '唱歌']}
33
张四
游泳
#对于字典来说,它不再是序列,通过第一条输出的结果可知,构造时的字典元素与输出时的字典元素顺序已经发生了变化,想要获取元素的值,只能
在索引里面写入具体的键。
字典元素的基本操作方法:
1.字典元素的增加
一般使用以下三种方式实现:分别是:setdefault,update方法和键索引方法:
接上面的举例:
dict1.setdefault('户籍','合肥') #往字典中增加户籍信息 此处需要注意一点,不是('户籍':'合肥')
dict1.update({'学历':'硕士'}) #添加学历信息 通过update的方式增加,添加的是字典形式的对象
dict1['身高'] = 178 #增加身高信息 通过直接键索引的方法直接设定对象并赋值即可
2.字典元素的删除
关于字典元素的删除可以使用pop,poptiem和clear三种方法实现。
例如:
dict1.pop('户籍') #删除户籍信息
dict1['子女'].pop('女儿') #删除字典中女儿的姓名
dict1.popitem() #删除字典的最后一个元素
dict1.clear() #清除字典元素
3.字典元素的修改
字典元素的修改如增加部分提到的,也可以使用update方法和键索方法完成字典元素的修改.需要注意的是如果字典中的值是另一个字典或列表,
需要先通过键索引实现字典元素的查询,然后在查询的基础上应用对应的修改方法即可(如update方法,取而代之).如下列出另外的几个比较重要的方法:
dict2 = {'电影':['三傻大闹宝莱坞','大话西游之大圣娶亲','疯狂动物城'],
'导演':['张三','李四','刘德华'],'评分':[9.1,9.2,9.3]}
print(dict2.get('评分'))
print(dict2.keys())
print(dict2.values())
print(dict2.items())
get方法的功能与建索引已知,可以从字典中取出键对应的值.所不同的是,如果某个键在字典中不存在,应用建索引的方法出产生'键错误'的信息;
而get方法不会报错,如果没有get到的话会显示None,也就不会影响其他脚本的正常执行.keys,values和items方法分别取出字典中的所有键,值和键值对.