Python中dict的用法详解
分类:Others, Python
阅读 (4,838)
Add comments
7月 202015
注:本文中的例子是在Python3.4.3环境下测试通过的
一、基本使用方法
1. 声明:mylist=dict()
2. 直接初始化声明:不同键值用逗号分隔,一组中的键和值用冒号分开,值得说明的是dict的值可以是整数、字符串或者其他类型对象,甚至是另外一个dict对象
1 2 3 4 5 |
mylist={"姓名":"刘德华", "数学":96, "语文":89, "网站":"http://svn1.bcoder.com"} print (mylist["姓名"]) #或者下面的方法也可以 mylist1 = dict(语文=96, 数学=100) |
3. 添加或者修改某一项:mylist[“key”]=”value”,如果不存在则新增一项,如果存在则修改那一项
4. 删除某一项:del mylist[“key”]
5. 遍历方法1:遍历所有的key值
1 2 3 |
mylist={"姓名":"刘德华", 3:96, "语文":89} for k in mylist: print (k, mylist[k]) |
6. 遍历方法2:遍历所有的values值
1 2 3 |
mylist = {"语文":96, "数学":100} for v in mylist.values(): print (v) |
7. 遍历方法3:使用items()遍历所有的key和value值
1 2 3 |
mylist={"姓名":"刘德华", 3:96, "语文":89} for k, v in mylist.items(): print (k, v) |
8. 字典的嵌套:字典中的值可以为另外一个字典,如下例:
1 2 3 |
mylist={"2014":{"语文":96, "数学":100}, "2015":{"语文":100, "数学":98}} print (mylist["2014"]["语文"]) print (mylist["2015"]["语文"]) |
9. 输出key列表:print (mylist.keys())
10. 输出值列表:print (mylist.values())
11. get函数的使用:使用mylist[“key”]当要取的key值不存在的时候会报错,使用get函数则不存在的时候返回None
1 2 3 |
mylist = {"语文":96, "数学":100} if mylist.get("历史") == None: print("没有该成绩!") |
12. 字典的合并:如果有两个字典,想把其中一个合并到另外一个,实用update函数
1 2 3 4 5 |
mylist1 = {"语文":96, "数学":100} mylist2 = {"历史":69, "地理":80} mylist2.update(mylist1) for k, v in mylist2.items(): print(k, v) |
13. 字典的排序:因为不知道怎么支持中文,所以先用的英文例子
1 2 3 4 5 |
mylist1 = {"yuwen":96, "shuxue":100, "lishi":69, "dili":80} #按照key排序 print (sorted(mylist1.items(), key=lambda d: d[0])) #按照value排序 print (sorted(mylist1.items(), key=lambda d: d[1])) |
14. 字典的浅拷贝:使用copy()函数
1 2 3 4 |
mylist1 = {"语文":96, "数学":100} mylist2 = {"历史":69, "地理":80} mylist2=mylist1.copy() print(mylist2) |
15. 字典的深拷贝:使用copy.deepcopy()函数,注:python3.4.3中copy()函数即可拷贝嵌套的字典
1 2 3 4 5 6 |
import copy mylist={"2014":{"语文":96, "数学":100}, "2015":{"语文":100, "数学":98}} mylist1=copy.deepcopy(mylist) print (mylist1["2014"]["语文"]) print (mylist1["2015"]["语文"]) print (mylist1.keys()) |