liuting1990

主要内容来源: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}

 

 

 

 

 

 

 

    

分类:

技术点:

相关文章: