一、字典
[] 中括号定义列表
() 括号定义元组
{}大括号定义字典
字典是一个可变容器,可存储任意类型
每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割:
d = {key1 : value1, key2 : value2 }
1,定义方法:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
x=dict()
y=dict(a=1,b=3,c='szm')
2,访问方法:
print "dict['name']: ", dict['name'];
print "dict['age']: ", dict['age'];
![](https://img.haomeiwen.com/i5495094/fcfc76c0129e28a7.png)
3,修改字典
dict1['age'] = 20
![](https://img.haomeiwen.com/i5495094/10de5551d3569f2d.png)
4,删除字典元素 、 删除字典
删除字典元素: del dict1['name']
删除整个字典:del dict1
![](https://img.haomeiwen.com/i5495094/a1340fdb416cb3be.png)
5,字典常用方法:
(1) 删除字典内所有元素 :dict.clean()
![](https://img.haomeiwen.com/i5495094/d879e9f5c0011c33.png)
(2)get(key)方法 返回指定键的值 找不到返回None
![](https://img.haomeiwen.com/i5495094/bfdd6d32c1ea1c53.png)
(3)has_key(key) 方法 如果key在字典里存在则返回True 否则返回False
![](https://img.haomeiwen.com/i5495094/3c37e7d8ee23990d.png)
(4) keys() 方法 以列表形式返回所有的键
![](https://img.haomeiwen.com/i5495094/e81721d3fe75e214.png)
(5)values()方法 以列表形式返回字典中所有的值
![](https://img.haomeiwen.com/i5495094/98d0f69b2f358ba7.png)
(6)copy() 方法 返回一个字段的半深拷贝(复制)
直接复制和copy()的区别 以及深拷贝
dict1 = {'user':'runoob','num':[1,2,3]}
dict2 = dict1 # 浅拷贝: 引用对象 当dict1 改变的时候 dict2也会跟着改变
![](https://img.haomeiwen.com/i5495094/c239ec0f58e9b7b5.png)
dict3 = dict1.copy() # 半深拷贝(拷贝父对象,不会拷贝对象的内部的子对象):深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用 当dict1的(一级目录)'user'改变的时候,dict2不改变 --深拷贝, 当dict1的'num'里面的list改变的时候 dict2也会改变--浅拷贝
![](https://img.haomeiwen.com/i5495094/aa45e0b7e4fbf3c5.png)
![](https://img.haomeiwen.com/i5495094/515e780ea87a17ba.png)
但要注意 以下这种情况依然改的是一级目录 dict2并没有改变
![](https://img.haomeiwen.com/i5495094/04aa7048b038e83c.png)
深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。
![](https://img.haomeiwen.com/i5495094/aa0af68bbd80ed38.png)
(7)dict1.update(dict2)
把字典dict2的键/值对更新到dict里 类似于字符串的 +
![](https://img.haomeiwen.com/i5495094/103375ee13e56062.png)
(8)pop(key) 删除 跟del一样
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值
![](https://img.haomeiwen.com/i5495094/b2a477d60bbc6175.png)
(9)items() 以列表的形式返回(key,val)元组数组
![](https://img.haomeiwen.com/i5495094/10734a5de883e8b9.png)
![](https://img.haomeiwen.com/i5495094/145b5bf9939e7265.png)
![](https://img.haomeiwen.com/i5495094/dccfc30ab2a7337a.png)
网友评论