前言

在Python中,我们用[]来表示列表list,用()来表示元组tuple,那{}呢?{}不光可用来定义字典dict,还可以用来表示集合set

集合 set

集合(set)是一个无序的不重复元素序列,集合中的元素不能重复且没有顺序,所以不能通过索引和分片进行操作。

如何创建set

•set() 创建一个集合,需要提供一个序列(可迭代的对象)作为输入参数:

#字符串
>>> set('abc')
{'a', 'b', 'c'}
#列表
>>> set(['a','b','c'])
{'a', 'b', 'c'}
#元组
>>> set(('a','b','c'))
{'a', 'b', 'c'} # 集合中的元素不重复
>>> set('aabc')
{'a', 'b', 'c'} #整数
>>> set(123) Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
set(123)
TypeError: 'int' object is not iterable

•{}

>>> {1,2,3}
{1, 2, 3}
>>> a = {1,2,3}
>>> type(a)
<class 'set'>

但注意 利用 {} 来创建集合不能创建空集合,因为 {} 是用来创造一个空的字典

set的常用方法

•set`的添加和删除,更新

>>> a = set('abc')
>>> a
{'a', 'b', 'c'} #添加元素
>>> a.add('d')
>>> a
{'a', 'b', 'd', 'c'} #重复添加无效果
>>> a.add('d')
>>> a
{'a', 'b', 'd', 'c'} #删除元素
>>> a.remove('c')
>>> a
{'a', 'b', 'd'} #update 把要传入的元素拆分,作为个体传入到集合中
>>> a.update('abdon')
>>> a
{a', 'b', 'd', 'o', 'n' }

set的集合操作符

>>> a = set('abc')
>>> b = set('cdef')
>>> a&b
{'c'}
>>> a | b
{'a', 'b', 'f', 'c', 'd', 'e'}
>>> a -b
{'a', 'b'}
>>> 'a' in a
True
>>> 'e' in a
False
>>> a != b
True
>>> a == b
False

集合还有不可变集合frozenset,用的不多,有兴趣的同学可以自行学习下!

更多交流公众号:猿桌派

最新文章

  1. (1)从底层设计,探讨插件式GIS框架的实现
  2. 用MyEclipse自动生成SessionFactory文件
  3. 使用html5 FileReader获取图片,并异步上传到服务器(不使用iframe)
  4. 【GoLang】golang context channel 详解
  5. Linux下文件重命名、创建、删除、修改及保存文件
  6. Linux Shell 03 条件测试
  7. 解决SQL Server Always 日志增大的问题-摘自网络
  8. [CF]codeforces round#366(div2)滚粗记
  9. 动态链接库DLL
  10. 最小生成树——[HAOI2006]聪明的猴子
  11. Dropbox可伸缩性设计最佳实践分享
  12. Xcode上传代码到github
  13. 第一次接触Android Studio
  14. jar包自动化部署---jenkins
  15. 回头来学习wpf的FlowDocument
  16. FortiGate 5.2/5.4 SSLVPN建立
  17. 今天遇到一件开心事,在eclipse编写的代码在命令窗口中编译后无法运行,提示 “错误: 找不到或无法加载主类”
  18. 非常棒的——python Deep learning 学习笔记
  19. 莫队算法 [国家集训队]小Z的袜子
  20. linux 端口占用情况

热门文章

  1. 三十七、www服务nginx进阶
  2. 基础篇六:Nginx编译配置参数
  3. F. Wi-Fi(线段树实现dp)
  4. day44-线程
  5. nc命令的用法
  6. The file named error_log is too large
  7. WWT在中国:一个改变了人类探索宇宙方式的少年梦想
  8. HDU-1251-统计难题(Trie树)(BST)(AVL)
  9. centos 7 下iptables参数详解
  10. SHELL小练习