一、Python字典
字典时 Python中唯一内建的映射类型,字典指定值并没有特殊顺序,都存储在一个特殊的键(key)里,键可以是数字、字符或元组。
字典是可变类型,可存储任意类型对象。
1.创建和使用字典
d = {key1:value1,key2:value2}
字典由多个键及其对应的值构成的,字典里每个键/值(key/value)对用冒号(:)分割,每个项之间用逗号(,)分割,整个字典包括在花括号中({})。空字典不包含任何项,由两个大括号组成,{}
字典示例:
>>> dict = {'zhangsan': 100 , 'lisi': 99 , 'wangwu': 88} >>> dict {'zhangsan': 100, 'lisi': 99, 'wangwu': 88}
二、字典的基本操作及特性
字典的基本操作在很多方面和序列类似,支持修改、删除等操作。
1.修改字典
>>> num = {'a':1,'b':2} >>> num {'a': 1, 'b': 2} >>> num['a']=3 >>> num {'a': 3, 'b': 2}
2.删除字典元素
>>> num = {'a':1,'b':2,'c':3} >>> num {'a': 1, 'b': 2, 'c': 3} >>> del num['a'] >>> num {'b': 2, 'c': 3}
3.删除整个字典
>>> num = {'a':1,'b':2,'c':3} >>> num {'a': 1, 'b': 2, 'c': 3} >>> del num >>> num Traceback (most recent call last): File "<pyshell#21>", line 1, in <module> num NameError: name 'num' is not defined
删除字典后就不能对字典进行访问了,因为执行del操作后字典就不存在了,所以执行会报变量没有定义的错误。
4.字典的特性
字典的值可以是任意类型,但是键不行,键必须为不可变类型(数字、字符串、元组)
同一键不要出现2次,如下例子: a的键出现2次,只有后面的值被记住
>>> num = {'a':1,'b':2,'c':3,'a':8} >>> num {'a': 8, 'b': 2, 'c': 3}
三、字典的函数
dict函数
可以使用dict函数,通过其他映射(如其他字典)或键/值序列对建立字典。
语法:
class dict(**kwarg) class dict(mapping, **kwarg) class dict(iterable, **kwarg)
参数说明:
- **kwargs -- 关键字
- mapping -- 元素的容器。
- iterable -- 可迭代对象。
例子:
>>> dict() #创建空字典 {} >>> dict(a=1,b=2,c=3) #传入关键字 {'a': 1, 'b': 2, 'c': 3} >>> dict(zip(['a','b','c'],[1,2,3])) #映射函数方式来构造字典 {'a': 1, 'b': 2, 'c': 3} >>> dict([('a',1),('b',2),('c',3)]) #可迭代对象方式来构造字典 {'a': 1, 'b': 2, 'c': 3}