Python的映射和集合类型

2016年01月08日

写在前面


Python核心编程来来回回读过两三遍,很棒的书,尤其作为速查手册使用时。最近计划对其每一部分进行整理,一方面加深对Python的理解,另一方面方便以后在手头没有核心编程时能进行快速查询。本篇主要整理关于Python映射和集合类型(字典,集合)的部分,第一部分是对映射类型的整理,第二部分是对集合的整理。

映射类型


作为Python中最强大的数据类型之一,字典是Python语音中唯一的映射类型。字典类型和序列类型容器类(列表,元祖)的区别是存储和访问数据的方式不同。序列类型只用数字类型的键,是序列化排序,映射类型可以使用其他对象做键(可哈希),是无序排序的。

操作符

一、标准类型操作符

字典可以和所有的标准类型操作符一起工作,除了不支持拼接和重复的操作。详细的标准操作符一览表参加这里

二、映射类型操作符

1 字典的键查找操作符([])

d[k] #通过键k,查询字典中元素的值

2 成员关系操作(in、not in)

自Python2.2以后,可以不用has_key()方法,而用in和not in来检查某个键是否在字典中。

>>>dict1={'name':'earth','port':80}
>>>name in dict1
True

映射类型的相关函数及内建方法

一、标准类型函数

对一个字典调用type()会返回字典类型,str()返回字典的字符串表示,这些很容易理解。但cmp()比较特殊,对一个字典进行比较时,首先是字典大小的比较,然后是键值,最后是值(使用cmp做字典比较一般不是很有用)。

二、其他相关函数

三、内建方法

下图是内建方法一览表。

集合类型


集合有两种不同的类型,可变集合(set)和不可变集合(frozenset)。可变类型不是可哈希的,因此既不能用作字典的键也不能做其他集合中的元素。不可变集合正好相反。

下图是集合类型总结表,包含了所有集合类型的操作符、函数和方法。

小结


上述部分是对《Python核心编程》一书中映像和集合类型的读书简记,供快速参考查询。

参考文献


[1] Python核心编程 第二版. Wesley J.Chun。


版权声明:本文为博主原创文章,转载请注明出处 本文总阅读量    次