主要内容来源:http://www.jb51.net/article/47990.htm
一、字典的建立:
>>> dict={\'Alice\':123,\'Cecil\':456}
>>> dict
{\'Alice\': 123, \'Cecil\': 456}
注意:键必须是独一无二的,值不必
二、访问字典的值
>>> dict[\'Alice\'] 123
字典中不存在此键的情况,将报错
>>> dict[\'mlice\'] Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> dict[\'mlice\'] KeyError: \'mlice\'
三、修改字典
1 >>> dict[\'Age\'] = 8; # update existing entry 2 >>> dict[\'School\'] = "DPS School"; #Add new entry
1 >>> dict 2 {\'Age\': 8, \'Name\': \'Zara\', \'Class\': \'First\'}
四、删除字典
1)删除相应的条目
1 >>> dict 2 {\'Age\': 8, \'Name\': \'Zara\', \'Class\': \'First\'} 3 >>> del dict[\'Name\'] 4 >>> dict 5 {\'Age\': 8, \'Class\': \'First\'}
2)清空所有的条目
1 >>> dict.clear() 2 >>> dict 3 {}
3)删除字典
>>> del dic >>> dic Traceback (most recent call last): File "<pyshell#39>", line 1, in <module> dic NameError: name \'dic\' is not defined
五、字典的键的属性
1)字典的键仅允许出现一次,如果出现两次,后面的键对应的值会将前面的键的值覆盖
>>> dict = {\'Name\': \'Zara\', \'Age\': 7, \'Name\': \'Manni\'};
>>> dict[\'Name\']
\'Manni\'
>>> dict {\'Age\': 7, \'Name\': \'Manni\'}
2)键的值是不可变的,所以可以使用数字、字符串、元组,不可以用列表
1 >>> dict = {[\'Name\']: \'Zara\', \'Age\': 7}; 2 3 Traceback (most recent call last): 4 File "<pyshell#6>", line 1, in <module> 5 dict = {[\'Name\']: \'Zara\', \'Age\': 7}; 6 TypeError: unhashable type: \'list\'
六、字典内置函数、方法
1)内置的函数
len(dict) #计算字典圆度的个数,即字典的键的个数
str(dict)#将返回字典的字符型表示
type(variable)#返回输入变量的类型
1 >>> dic 2 {\'Alice\': 123, \'Cecil\': 456} 3 >>> type(dic) 4 <type \'dict\'>
2)方法
dict.fromkeys()#创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
http://www.runoob.com/python/att-dictionary-fromkeys.html
1 >>> dic.fromkeys([1,2,3],[4,5,6]) 2 {1: [4, 5, 6], 2: [4, 5, 6], 3: [4, 5, 6]}
dict.get(key,default=None)
>>> dic {\'Alice\': 123, \'Cecil\': 456} >>> dic.get(\'Alice\') 123 >>> dic.get(\'Alic\') >>> dic.get(\'Alic\',\'no\') \'no\'
dict.setdefault(key,default=None)和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
1 >>> dic 2 {\'Alice\': 123, \'Cecil\': 456} 3 >>> dic.setdefault(\'zhang\') 4 >>> dic 5 {\'zhang\': None, \'Alice\': 123, \'Cecil\': 456} 6 >>> dic.setdefault(\'zhang\',1) 7 >>> dic 8 {\'zhang\': None, \'Alice\': 123, \'Cecil\': 456}
dict.has_key(key)
1 >>> dic.has_key(\'Alice\') 2 True
dict.items()以列表的形式返回可便利的(键、值)元组数组;dict.keys()返回字典所有的键;dict.values()返回字典所有的值
1 >>> dic.items() 2 [(\'Alice\', 123), (\'Cecil\', 456)] 3 >>> dic.keys() 4 [\'Alice\', \'Cecil\']
>>> dic.values()
[123, 456]
dic1.update(dic2) 把字典dic2的键/值对更新到dict1里
1 >>> dic 2 {\'Alice\': 123, \'Cecil\': 456} 3 >>> dic1={} 4 >>> dic1.update(dic) 5 >>> dic1 6 {\'Alice\': 123, \'Cecil\': 456}