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核心编程》第7章 映像和集合类型 练习

7–1. 字典方法。 哪个字典方法可以用来把两个字典合并到一起? #update方法...

Python核心编程第七章笔记

创建字典 >>>dict1 = {} >>>dict2 = {'name': 'earth', 'port': 80} >>>dict1, dict2 ({},{'port': 80, 'na...

Python核心编程 第七章 练习7–5

7–5. userpw2.py. 下面的问题和例题7.1 中管理名字-密码的键值对数据的程序有关。 (a)修改那个脚本,使它能记录用户上次的登录日期和时间(用time 模块),并与用户密码一起 保...
  • lzy641
  • lzy641
  • 2015年04月04日 18:42
  • 462

python核心编程第七章7.3 - 7.9 答案

一下所有放上去太长了,分开一部分

Python核心编程 第七章练习

7_3 #!/usr/bin/env python # encoding: utf-8 if __name__ == "__main__": dct = dict(zip(["emxa...

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

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

Python核心编程第七章笔记及习题记录

1.字典的比较算法: (1)首先比较字典的长度 (2)若字典长度相等,比较字典的键,当对应位置的两个键不匹配时,对这两个键直接比较,并返回结果。 (2)若键完全匹配,再比较每个相同的键对应的值,当对应...

Python核心编程 练习 第七章

#7–1. 字典方法。哪个字典方法可以用来把两个字典合并到一起? #可以通过update来更新。 >>> dict1 = {1:'hello',2:'world'} >>> dict2 = {2:'...

Python 核心编程第七章练习题

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

python核心编程--第七章 7.12 练习

7.12 练习 #!/usr/bin/python # -*- coding: utf-8 -*- # 7–5. userpw2.py. 下面的问题和例题7.1 中管理名字-密码的键值对数据的程...
  • ywj1225
  • ywj1225
  • 2014年05月27日 16:16
  • 650
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python核心编程(第七章)--映像和集合类型
举报原因:
原因补充:

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