python 中的集合 set

2019-04-19 09:10:17   最后更新: 2019-04-19 09:10:17   访问数量:85




上一篇文章中,我们介绍了 Python 中的字典

python 的字典

 

本文我们介绍一个与字典颇有渊源的容器类型 -- 集合

 

和其他很多语言一样,python 也具有 set 容器

集合(set)是一个无序的不重复元素散列,其所有元素都必须是可散列的

可以使用大括号 { } 或者 set() 函数创建集合,但如果要创建新集合,必须使用 set(),否则创建的是空字典

集合(sets)有两种不同的类型,可变集合(set) 和 不可变集合(frozenset)

>>> s = set('cheeseshop') >>> s set(['c', 'e', 'h', 'o', 'p', 's']) >>> t = frozenset('bookshop') >>> t frozenset(['b', 'h', 'k', 'o', 'p', 's'])

 

 

集合操作符

下图展示了数学中的集合操作对应的 python 中的操作符:

 

 

访问元素

正如上面所说,集合是无序的,因此不能通过下标索引访问,但可以通过 in 操作符判断和遍历

>>> s = set('cheeseshop') >>> 'k' in s False >>> 'k' in t True >>> >>> for i in s: ... print i ... c e h o p s

 

 

可见,set 是一个完全无序的集合,正如我们前面介绍过得,set 对于元素查找操作有着特殊的优化,性能要高很多,但其代价是内存的大量消耗

 

欢迎关注微信公众号,以技术为主,涉及历史、人文等多领域的学习与感悟,每周三到七篇推文,全部原创,只有干货没有鸡汤

 

 

《python 核心编程》

《流畅的 python》

 






读书笔记      技术帖      龙潭书斋      python      set      集合     


京ICP备15018585号