数据结构之字典学习
参考书籍《python基础教程》
问题:字典是一种什么类型?
回答:字典是Python中唯一内建的映射类型(mapping)
问题:映射是什么结构?
回答:映射是一种通过名字引用值的数据结构
字典的一些特点:
1.字典中的值并没有特殊的顺序,但是都存储在一个特定的键(key)中;键可以是数字、字符串、元组
2.字典可以通过某个特定的词语(key),从而找到所需要的值(value)
字典的创建:
phonebook = {'Alice': '9123', 'Beth': '4351', 'Cecil': '2351'}
字典的创建由一个大括号将键(上面的姓名字符串),和键对应的值(上面的电话号码字符串)包含起来;其中键和值之间用冒号分开(键/值对称为项)
项之间用逗号分开,空字典用一个空的大括号表示:{ }
基本的字典操作:
1.len(d)返回d中项(键-值对)的数量;
2.d[k]返回关联到键k上的值;
3.d[k] = v 将值v关联到键k上;
4.del d[k] 删除键为k的项;
5.k in d 检查d中是否有含有键为k的项;
注意:
1.键的类型可以是整型数据、也可以是浮点型(实数型)、字符串或者元组
2.字典可以自动添加项:如果键起初并不在字典中,也可以为它分配一个值,这样字典就会建立新的项
如:d[k] = v ; 若k这个键并不在字典d中,但是程序不会报错误,而是自动添加k这个键,并赋予v这个值
3.成员资格:表达式 k in d(d为字典)查找的是键,而不是值
以上三点也是区别于列表的。
字典的方法:
1.clear方法
使用:d.clear()
参数:无
作用:clear方法清除字典中的所有的项,返回值是None
例子:
>>> x = {}
>>> y = x
>>>x['key'] = 'value'
>>>y
{'key': 'value'}
>>>x = {}
>>>y
{'key', 'value'}
>>>x = {}
>>> y = x
>>>x['key'] = 'value'
>>>y
{'key': 'value'}
>>>x.clear()
>>>y
{}
以上的例子可以说明两个问题:1.字典是一种引用的类型,当把x 赋值给 y ,相当于x和y共享一个字典,接着x 又被赋予一个新的空字典,故并没有影响y引用的字典的情况
2.若要清空引用的字典,应该用clear方法,它将对引用的字典进行数据清理
2.keys方法
使用:d.keys()
参数:无
返回:以列表的方式返回字典所有的键
例子:
>>> d = {'Alice': '9123', 'Beth': '2123'}
>>>d.keys()
['Beth', 'Alice',]