python的基础数据结构–字典
一点题外话
阅读到python的迭代器和生成器这部分真的有些费劲,有见解的小伙伴可以在评论去指导一下,谢谢。
1 基础概念
简单的来说,字典就是一些键-值对的组合,用“{}”包起来;也可以成为是一种映射;字典的一些基础概念如下图所示:
这里面值得注意的是两种通过其他映射或者成对的序列建立字典的方式;
#方法1:
dict1 = dict([('name':'test'), ('age':42)])
#方法2
dict2 = dict(name = 'gubmy', age = 42)
#个人习惯于第二种,比较简洁
2 基础操作
len、取值、关联、删除、成员函数判断和列表的操作方式类似,值得注意的是自动添加和字典的格式化字符串这两点;自动添加,通过d[k] = v的形式,可以将值V关联到键k上,即使k原先不存在字典中也是合法的;字典的格式化,可以通过**“%(key)s”**的形式来格式化字符串;
phonebook = {'beth':'9102', 'alice':'2431'}
>>>'beth phone number is %(beth)s' % phonebook
>>>'beth phone number is 9102' # %(beth)s 能够寻找到phonebook字典beth键上关联的内容
3 方法集合
上面是字典的一些方法集合,其中本人常用的三个方式:keys、setdefault、values;
重点说一下setdefault,可以在字典不含给定键的情况下,设置相应的值;例子如下:
>>>d = {}
>>>d.setdefault('name', None)
4 其他知识点
这里对exec进行说明,这个函数可以执行一个字符创代码;
>>>exec('a = 1 + 1')
>>>a
2
关于python的条件、循环和其他语句不是重点介绍,这部分知识各语言基本都是一样的,只是在关键字上有一些区别,另外下面附加上我的XMIND图,有需要的可以下载看一下。