Learn Python 3:set

一、什么是set

set和dict类似,是一组key的集合,但不存储value。在set中,没有重复的元素,添加到set中的元素必须是不可变的,否则会报错。

二、set操作

1、创建set

创建set时,可以提供一个listtuple或者字符串作为输入:

# 使用list创建
>>> s1 = set([1, 2, 3, 4])
>>> s1
{1, 2, 3, 4}
# 使用tuple创建
>>> s2 = set((5, 6, 7, 8))
>>> s2
{5, 6, 7, 8}
# 如果set中有重复元素,则会被过滤掉
>>> s3 = set([1, 2, 2, 3, 4])
>>> s3
{1, 2, 3, 4}
# 使用字符串创建set,字符串中重复的字符会被过滤掉
>>> s4 = set('hello')
>>> s4
{'l', 'h', 'o', 'e'}

除此之外也可以直接创建:

>>> s = {1, 2, 3, 4}
>>> s
{1, 2, 3, 4}
2、添加元素
>>> s = set([1, 2, 3, 4])
>>> s.add(5)
>>> s
{1, 2, 3, 4, 5}
# 将一个set的值添加到另一个中
>>> s1 = {6, 7, 8}
>>> s.update(s1)
>>> s
{1, 2, 3, 4, 5, 6, 7, 8}
3、删除元素
>>> s = set([6, 7, 8, 9, 10])
# 删除指定元素
>>> s.remove(10)
>>> s
{6, 7, 8, 9}
# 删除第一个元素
>>> s.pop()
6
>>> s
{7, 8, 9}
4、集合操作
>>> s1 = {1, 2, 3, 4, 5}
>>> s2 = {6, 7, 8}
# 并集(|)
>>> s3 = s1 | s2
>>> s3
{1, 2, 3, 4, 5, 6, 7, 8}
# 交集(&)
>>> s3 & s1
{1, 2, 3, 4, 5}
# 差集(-)
>>> s3 - s1
{8, 6, 7}
# 对称差分(^),得到不同时属于两个集合的元素
>>> s4 = {4, 5, 6, 7}
>>> s1 ^ s4
{1, 2, 3, 6, 7}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 1,783评论 0 1
  • 最近在慕课网学习廖雪峰老师的Python进阶课程,做笔记总结一下重点。 基本变量及其类型 变量 在Python中,...
    victorsungo阅读 1,740评论 0 5
  • 与或运算 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此...
    张文靖同学阅读 322评论 0 1
  • 写在前面:看到这篇的人,也许你能猜出当事人是谁,也许你会很惊讶,但是希望你能不去打扰,内心默默的祝福就好。我关闭了...
    张小井呀阅读 491评论 0 3
  • 错误日志: ErrorDomain=AVFoundationErrorDomainCode=-11800 代码: ...
    mxionlly阅读 6,383评论 1 1