Python核心编程(第七章)--映像和集合类型

原创 2016年05月10日 10:16:42
字典:它是一个容器类型,能存储任意个数的Python对象,也包括其他容器类型,Python的字典是作为可变的哈希表实现的
映像类型中的数据是无序排列的
 
可以用工厂方法dict()来创建字典,也可以用fromkeys()来创建一个默认键
 
检查一个字典中是否有某个键的最好方法是用字典的has_key()方法,或者in 或not in
 
两个字典进行比较时,先比较两个字典元素数,当元素数相同时比较键大小,当键相等比较值
比较算法:
 
映射类型的內建函数:
hash()函数,用来判断某个对象是否可以做一个字典的键。(将一个对象作为参数传递给hash(),会返回这个对象的哈希值)
映射类型的內建方法:
update()更新一个字典内容
copy()返回一个字典的副本
 
不允许一个键对应多个值
键必须是可哈希的,所有不可变类型都是可哈希的(不可变类型:string,integer,tuple   可变类型:list,dict)
集合类型:set称作由不同的元素组成的集合,集合对象是一组无序排列的可哈希的值。并且集合成员可以做字典中的键。
其中集合分为可变集合(set)和不可变集合(frozenset)。可变集合可以添加和删除元素,不可变集合不可以。(可变集合不是可哈希的,不能作为字典的键,不可变集合可以)
创建集合用集合的工厂方法set()和frozenset()
>>> s=set('Hello')
>>> s
set(['H', 'e', 'l', 'o'])
>>> a = frozenset('Hello')
>>> a
frozenset(['H', 'e', 'l', 'o'])

 

更新集合:集合内建的方法和操作符添加和删除集合的成员:
>>> s.add('Python')
>>> s
set(['Python', 'H', 'e', 'l', 'o'])
集合等价/不等价:相同或不同的集合之间作比较。两个集合相等是指对每个集合而言当且仅当其中一个集合中的每个成员同时也是另一个集合的成员
集合类型操作符:
(1)联合(|)
两个集合的联合是一个新的集合,该集合中的每个元素都至少是一个集合的成员
(2)交集(&)
等同于集合的AND
(3)差补/相对补集(-)
指的是一个集合C,该集合中的元素只属于集合s而不属于集合t
(4)对称差分(^)
两个集合的对称差分是指另外一个集合C,该集合上的元素只能是属于s或集合t的成员不能同时属于两个集合
集合类型操作符:
(|=)更新方法:从已存在的集合中添加多个成员
(&=)保留操作:保留与其他集合的共有成员
(-=)差更新操作:返回一个集合,该集合中的成员是集合s去掉集合t中元素后剩余的元素
(^=)对称差分更新操作:返回一个集合,该集合中的成员仅是原集合s或仅是另一集合t中成员
 
内建函数:
len(),
工厂函数:set(),frozenset()
内建方法
版权声明:本文为博主原创文章,未经博主允许不得转载。

《python核心编程第二版》第七章练习解析

1.字典方法。哪些字典方法可以把两个字典合并到一起? 有个update()方法,不过如果key相同的话,会用后者的key-value覆盖前者的 2.略 3.字典和列表的方法。 (a) 建一...
  • u013938528
  • u013938528
  • 2015年05月01日 10:49
  • 838

Python核心编程----映像和集合类型

7.1 映射类型:字典          映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的关系。 7.1.1  创建字典和赋值        >>> dict1 = []...
  • c158024230
  • c158024230
  • 2016年10月26日 22:37
  • 123

《Python核心编程》第7章 习题

7–3. 字典和列表的方法。 (a) 创建一个字典,并把这个字典中的键按照字母顺序显示出来。 (b) 现在根据已按照字母顺序排序好的键,显示出这个字典中的键和值。 (c)同(b),但这次是根据已按照字...
  • birdzb
  • birdzb
  • 2015年09月09日 23:13
  • 3433

《Python核心编程》第七章练习解析

《Python核心编程》第七章练习解析
  • guojuxia
  • guojuxia
  • 2015年03月31日 14:35
  • 1890

Python 核心编程第七章练习题

7-1. update def updateDict():     dict1 = {'name': 'John', 'Age': 20}     dict2 = {'address': 'Beiji...
  • panaman
  • panaman
  • 2016年10月27日 14:25
  • 378

python核心编程v2.0 第7章习题答案(下)

8. # encoding=utf-8 if __name__ == '__main__': i = 0 db = {} while i2: name ...
  • u011010851
  • u011010851
  • 2017年07月26日 10:35
  • 96

python核心编程第七章习题答案(2)

7-6列表和字典。创建一个简单的股票证券投资数据系统。其中应至少包含四项数据:股市行情显示器符号,所持有的股票,购买价格及当前价位 - 你可以随意添加其他数据项,比如收益率,52 周最高指数、最低指数...
  • huangyuanlang1
  • huangyuanlang1
  • 2013年08月04日 21:45
  • 1495

python核心编程(第二版)参考答案(自制)--第七章·映像和集合类型

###最近自学python,使用的教材是python核心编程(第二版)。自己做了练习题的答案,不管正确与否,算是给自己的一种约束和督促吧。 -----------------------------...
  • zflzfl1023
  • zflzfl1023
  • 2014年08月10日 10:14
  • 985

《Python核心编程》第七章:映射和集合类型

《Python核心编程》第七章:映射和集合类型——本章介绍由多个键值对组成的字典和元素不可重复的集合。...
  • gdouchufu
  • gdouchufu
  • 2016年03月30日 15:44
  • 737

python映像和集合类型

字典 一、字典的概述 字典是python中唯一的映射类型,映射类型对象里哈希值和指向对象值是1:n的关系 字典对象是可变的,可以认为是一个容器类型,能存储任意个python对象 字典对象和序列...
  • xhwwc110
  • xhwwc110
  • 2015年05月10日 19:41
  • 659
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python核心编程(第七章)--映像和集合类型
举报原因:
原因补充:

(最多只允许输入30个字)