博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python第二版7章笔记--映射和集合类型
阅读量:7091 次
发布时间:2019-06-28

本文共 2068 字,大约阅读时间需要 6 分钟。

7.1 映射

字典是 Python 语言中唯一的映射类型。映射类型对象里哈希值(键) 和指向的对象(值)是一对多的关系。 它们与 Perl 中的哈希类型(译者注:又称关联数组)相似,通常被认为是可变的哈希表。一个字典对象是可变的,它是一个容器类型,能存储任意个数的 Python 对象,其中也包括其他容器类型。

字典类型和序列类型容器类(列表、元组)的区别是存储和访问数据的方式不同序列类型只用数字类型的键(从序列的开始起按数值顺序索引)。映射类型可以用其他对象类型做键;一般最常见的是用字符串做键(keys)。和序列类型的键不同,映射类型的键(keys)直接,或间接地和存储的数据值相关联。但因为在映射类型中,我们不再用"序列化排序"的键(keys),所以映射类型中的数据是无序排列的。
如何创建字典和给字典赋值 dict2 = {'name': 'earth', 'port': 80} dict2 = {'name': 'earth', 'port': [80,21]}
如何访问字典中的值 dict2.keys() dict2[key] dict2.values()
has_key() 方法在未来Python 版本中弃用,所以用 in 或 not in 是最好的方法 'server' in dict2 # 或 dict2.has_key('server')
如何更新字典 dict2['name'] = 'venus' 更新已有条目 , 增加新条目
如何删除字典元素和字典 dict2.pop('name') # 删除并返回键为“name”的条目 dict2.clear() # 删除 dict2 中所有的条目
字典可以和所有的标准类型操作符一起工作,但却不支持像拼接(concatenation)和重复(repetition)这样的操作。
(键)成员关系操作( in ,not in) dict4 < dict5
cmp() 算法
python第二版7章笔记--映射和集合类型

dict()

当容器类型对象做为一个参数传递给方法 dict() 时很有意思。如果参数是可以迭代的,即,一个序列,或是一个迭代器,或是一个支持迭代的对象,那每个可迭代的元素必须成对出现。
dict([['x', 1], ['y', 2]]) dict(zip(('x', 'y'), (1, 2))) dict(x=1, y=2) 返回 {'y': 2, 'x': 1}
len() 返回所有元素(键-值对)的数目
dict2.keys() dict2[key] dict2.values() dict2.items() 返回一个包含所有(键, 值)元组的列表。
dict.update(dict2) 将字典 dict2 的键-值对添加到字典 dict
dict.pop (key[, default]) 和方法 get()相似,如果字典中 key 键存在,删除并返回 dict[key],如果 key 键不存在,且没有给出 default 的值,引发 KeyError 异常
明确一条原则:每个键只能对应一个项。也就是说,一键对应多个值是不允许的。(像列表、 元组和其他字典这样的容器对象是可以的。 ) 当有键发生冲突(即, 字典键重复赋值), 取最后(最近)的赋值。
为什么键必须是可哈希的?解释器调用哈希函数,根据字典中键的值来计算存储你的数据的位置。如果键是可变对象,它的值可改变。如果键发生变化,哈希函数会映射到不同的地址来存储数据。如果这样的情况发生,哈希函数就不可能可靠地存储或获取相关的数据。

7.2 集合

如何创建集合类型和给集合赋值 s = set('cheeseshop') 返回set(['c', 'e', 'h', 'o', 'p', 's']) frozenset('bookshop') 返回 frozenset(['b', 'h', 'k', 'o', 'p', 's'])

如何访问集合中的值 'k' in s 返回False
如何更新集合 s.add('z') s.update('pypi') s.remove('z')
如何删除集合中的成员和集合 del s
set('shop') < set('cheeseshop') Sets 支持严格( < )子集和非严格 ( <= ) 子集, 也支持严格( > )超集和非严格 ( >= )超集。

联合( | ) 联合(union)操作和集合的 OR其实是等价的,两个集合的联合是一个新集合,该集合中的每个元素都至少是其中一个集合的成员,属于两个集合其

中之一的成员。
交集( & ) 两个集合的交集是一个新集合,该集合中的每个元素同时是两个集合中的成员,即,属于两个集合的成员
差补/相对补集( – ) 两个集合(s 和 t)的差补或相对补集是指一个集合 C,该集合中的元素,只属于集合 s,而不属于集合 t。

转载于:https://blog.51cto.com/benshitong/2058446

你可能感兴趣的文章
Centos6.2下puppet客户端安装
查看>>
Nginx实现高效负载均衡器
查看>>
ElastAlert对ELK日志进行邮箱报警
查看>>
WordPress友情链接插件:Auto BlogRoll
查看>>
搭建或者升级Python环境笔记,吐血记录!
查看>>
如何在haproxy的后端服务器查看客户端的IP?
查看>>
网络编程:端口,InetAddress,Socket【简】
查看>>
权限模型体系设计
查看>>
JVM垃圾回收与性能调优总结
查看>>
Linux使用shell自动切换网关
查看>>
Spring 的优秀工具类盘点,第 1 部分: 文件资源操作和 Web 相关工具类
查看>>
谨防非法网络传销网站finnciti 前身smi已被取缔
查看>>
Kubernetes使用Ceph静态卷部署应用
查看>>
为CentOS 6.5 配置本地YUM源
查看>>
linux grep命令
查看>>
Memcache知识点梳理
查看>>
1.java用户校验
查看>>
【MySQL】lower_case_table_names参数详解
查看>>
定时任务crond生产实战经验
查看>>
mysql-5.5配置主从 及 主主关系
查看>>