dict的作用是建立一组 key 和一组 value 的映射关系,dict的key是不能重复的。

有的时候,我们只想要 dict 的 key,不关心 key 对应的 value,目的就是保证这个集合的元素不会重复,这时,set就派上用场了。

set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。

创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素:

>>> s = set(['A', 'B', 'C'])

可以查看 set 的内容:

>>> print s
set(['A', 'C', 'B'])

请注意,上述打印的形式类似 list, 但它不是 list,仔细看还可以发现,打印的顺序和原始 list 的顺序有可能是不同的,因为set内部存储的元素是无序的。

因为set不能包含重复的元素,所以,当我们传入包含重复元素的 list 会怎么样呢?

>>> s = set(['A', 'B', 'C', 'C'])
>>> print s
set(['A', 'C', 'B'])
>>> len(s)
3

结果显示,set会自动去掉重复的元素,原来的list有4个元素,但set只有3个元素。

由于set存储的是无序集合,所以我们没法通过索引来访问。

访问 set中的某个元素实际上就是判断一个元素是否在set中。

例如,存储了班里同学名字的set:

>>> s = set(['Adam', 'Lisa', 'Bart', 'Paul'])

我们可以用 in 操作符判断:

Bart是该班的同学吗?

>>> 'Bart' in s
True

Bill是该班的同学吗?

>>> 'Bill' in s
False

bart是该班的同学吗?

>>> 'bart' in s
False

看来大小写很重要,'Bart' 和 'bart'被认为是两个不同的元素。

最新文章

  1. Flash 二进制传图片到后台Java服务器接收
  2. Android 调用资源字符串的几种方法
  3. boost之function
  4. iOS 定位系统 知识
  5. 安装Windows8.1操作系统 - 初学者系列 - 学习者系列文章
  6. ExtJS简介--车辆调度
  7. php框架Yaf路由重写
  8. [转载] zookeeper应用——集中配置管理系统的实现
  9. PHP Yii2.0PHPexecl导出。
  10. thinkphp 实现分页
  11. centos 7 mysql 开启binlog
  12. iptables 初见 第一章
  13. python简说(二十)操作excel
  14. stark组件之路由分发【模仿Django的admin】
  15. Java调用MQ队列
  16. PHP常用获取文件路径的函数集合整理
  17. Flume(3)-安装部署
  18. CSS选择器-常用搜集
  19. JS调用asp.net后台方法:PageMethods
  20. yun rpm

热门文章

  1. HTML <input> 标签如何屏蔽浏览器的自动填写?
  2. pytthon + Selenium+chrome linux 部署
  3. vmware 开机自动启动
  4. JZOJ 3383. 【NOIP2013模拟】太鼓达人
  5. 1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
  6. Python装饰器使用规范案例详解
  7. HDU:4417-Super Mario(离线线段树)
  8. [Uva1642]魔法Gcd(数论)
  9. 12,scrapy框架之post请求
  10. Django Rest Framework threoy