字典是另一种可变容器模型,且可存储任意类型对象

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割。

一、创建字典

dict1 = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

另外一种:

>>> dict2 = dict(abc="1")
>>> dict2
{'abc': '1'}

二、修改字典

dict1['Alice']="1111"

结果如下:

>>> dict1
{'Beth': '9102', 'Alice': '1111', 'Cecil': '3258'}

三、增加字典中的元素

>>> dict1['liyuanchuan']="88888"
>>> dict1
{'Beth': '9102', 'Alice': '1111', 'liyuanchuan': '88888', 'Cecil': '3258'}

四、删除字典

1、元素删除

>>> del dict1['Alice']
>>> dict1
{'Beth': '9102', 'liyuanchuan': '88888', 'Cecil': '3258'}

2、整体删除

第一种:

>>> dict1.clear()
>>> dict1
{}

第二种:

>>> del dict1

五、字典特性

1、键值不允许出现两次,如果出现两次,以第一次为准。

>>> dict3 = {'Name':'liyuanchuan','age':'28','Name':'zhanggang'}
>>> dict3
{'age': '28', 'Name': 'zhanggang'}

2、键值不可改变,不可以用列表

>>> dict4 = {['Name']:'liyuanchuan'}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'

六、字典内置函数用法

内置函数:

1、len(dict)

计算字典元数个数,即键的总数

2、str(dict)

输出的字典使用字符串表示

3、type(dict)

输出字典的类型

内置方法:

1、dict2.clear()

删除字典内所有元素

2、dict2.copy()

返回一个字典的浅复制

3、dict2.fromkeys(seq,None)

创建一个新字典,以seq中的元素做字典的键,None字典所有键对应为初始值

ep:

>>> seq2=('a','b','c','d')
>>> dict4={}
>>> dict4.fromkeys(seq2)
{'a': None, 'c': None, 'b': None, 'd': None}
>>> dict4.fromkeys(seq2,"1234")
{'a': '1234', 'c': '1234', 'b': '1234', 'd': '1234'}
>>> dict4.fromkeys(seq2,"aaaa")
{'a': 'aaaa', 'c': 'aaaa', 'b': 'aaaa', 'd': 'aaaa'}

4、dict2.get(key,default=None)

返回指定键的值,如果值不在字典中返回default值

ep:

>>> dict3
{'age': '28', 'Name': 'zhanggang'}
>>> dict3.get('height',175)
175

5、dict2.setdefault(key,default=None)

与上面类似,如果键值不存在,写入字典中。

ep:

>>> dict3.setdefault('height')
>>> dict3
{'age': '28', 'Name': 'zhanggang', 'height': None}
>>> dict3.setdefault('height',175)
>>> dict3
{'age': '28', 'Name': 'zhanggang', 'height': None}

6、dict2.key(key)

判断是否存在key值,如果存在True,不存在False

>>> dict3.has_key('Name')
True
>>> dict3.has_key('Name2')
False

7、dict2.items()

以列表返回一个字典的可遍历的(键、值)元组数组

ep:

>>> dict3.items()
[('age', '28'), ('Name', 'zhanggang'), ('height', None)]
>>> dict3.items()[1]
('Name', 'zhanggang')
>>> dict3.items()[1][1]
'zhanggang'

8、dict2.keys()

以列表的形式返回一个字典中所有键

ep:

>>> dict3.keys()
['age', 'Name', 'height']

9、dict2.values()

以列表的形式返回一个字典中的所有值

ep:

>>> dict3.values()
['28', 'zhanggang', None]