一、集合的含义及创建方法

集合(set)是一种无序的并且里面存放不同元素的序列。

集合可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建  集合a   集合b

a={1,2,3,4,5,6}

b={4,5,6,7,8,9}

二、集合的日常操作方法

1.列表去掉重复的元素

创建一个列表c

c=[1,2,3,1,2]

print(set(a))

结果:

{1, 2, 3}

2.添加元素

(1)add方法

a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
a.add("abc")
print(a)
结果:
{1, 2, 3, 4, 5, 6, 'abc'} (2)update方法
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
a.update("abc")
print(a)
结果:
{1, 2, 3, 4, 5, 6, 'c', 'b', 'a'}
小结:add是单个元素的添加,update是添加一个序列

3.删除元素
(1)discard方法
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
a.discard(5)
print(a)
结果:
{1, 2, 3, 4, 6}
(2)remove方法
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
a.remove(5)
print(a)
结果:
{1, 2, 3, 4, 6} (3)pop方法
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
a.pop()
print(a)
结果:
随机删除一个a里面的元素

总结:remove和discard都可以删除指定元素,区别是如果删除的元素不存在,remove会报错,discard不报错。

4.清空 clear
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
a.clear()
print(a)
结果:
set()
5.统计集合元素个数 len
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(len(a))
结果:
6

三、集合间的关系

1.a集合与b集合的交集
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
e=a.intersection(b)
print(e)
或者是
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a & b)
结果都是
{4, 5, 6}

2.a集合与b集合的并集
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a.union(b))
或者是
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a | b)
结果都是
{1, 2, 3, 4, 5, 6, 7, 8, 9}

3.a集合与b集合的对称差集(去掉交集后的元素)
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a.symmetric_difference(b))
或者是
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a ^ b)
结果都是
{1, 2, 3, 7, 8, 9}

4.判断a是不是b的子集 a<b
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a.issubset(b))
结果:
false

5.判断a是不是b的父集 a>b
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a.issuperset(b))
结果:
false

6.差集
(1)a-b
#在a里不在b集合里的元素
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a.difference(b))
结果:
{1, 2, 3}
(2)b-a
#在b里不在a集合里的元素
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(b.difference(a))
结果:
{8, 9, 7}

Python中关于集合的介绍及用法的更多相关文章

  1. Python中生成器和yield语句的用法详解

    Python中生成器和yield语句的用法详解 在开始课程之前,我要求学生们填写一份调查表,这个调查表反映了它们对Python中一些概念的理解情况.一些话题("if/else控制流" ...

  2. python中multiprocessing.pool函数介绍_正在拉磨_新浪博客

    python中multiprocessing.pool函数介绍_正在拉磨_新浪博客     python中multiprocessing.pool函数介绍    (2010-06-10 03:46:5 ...

  3. python中列表元素连接方法join用法实例

    python中列表元素连接方法join用法实例 这篇文章主要介绍了python中列表元素连接方法join用法,实例分析了Python中join方法的使用技巧,非常具有实用价值,分享给大家供大家参考. ...

  4. python 中的集合set

    python中,集合(set)是一个无序排列,可哈希, 支持集合关系测试,不支持索引和切片操作,没有特定语法格式, 只能通过工厂函数创建.集合里不会出现两个相同的元素, 所以集合常用来对字符串或元组或 ...

  5. python中的 try...except...finally 的用法

    python中的 try...except...finally 的用法 author:headsen chen date:2018-04-09  16:22:11 try, except, final ...

  6. Python中的集合类型分类和集合类型操作符解析

    集合类型    数学上,把set称作由不同的元素组成的集合,集合(set)的成员通常被称作集合元素(set elements).    Python把这个概念引入到它的集合类型对象里.集合对象是一组无 ...

  7. python学习之【第七篇】:Python中的集合及其所具有的方法

    1.前言 python中的集合set与列表类似,它们最大的区别是集合内不允许出现重复元素,如果在定义时包含重复元素,会自动去重. 集合是无序的,集合中的元素必须是不可变类型.集合可以作为字典的key. ...

  8. [转载]python中multiprocessing.pool函数介绍

    原文地址:http://blog.sina.com.cn/s/blog_5fa432b40101kwpi.html 作者:龙峰 摘自:http://hi.baidu.com/xjtukanif/blo ...

  9. 14.python中的集合

    什么是集合?正如其字面的意思,一堆东西集中合并到一起.乍一听貌似和容器没什么差别,嗯,好吧,集合也算是一种容器. 在学习这个容器有什么不同之前,先看看集合是如何创建的: a = set() #可变集合 ...

随机推荐

  1. Maven基本使用汇总

    1. 基础问题 0.eclipse工程转maven工程:工程->右键->configure->convert to maven project 1.pom.xml总是在项目的根目录. ...

  2. vue简单的CheckBox节点树

    初学vue.js,恰好公司有个页面需要做一个简单的CheckBox组成的节点树,于是摸索着写了一个. 业务逻辑为:选中父节点,子节点全部选中:取消选中父节点,子节点全部取消:选中字节点,父节点选中. ...

  3. Vue系列(2):Vue 安装

    前言:关于页面上的知识点,如有侵权,请看 这里 . 关键词:小白.Vue 安装.Vue目录结构.Vue 构建页面流程 ? 初学者安装 vue 用什么好 大家都知道,学 Vue 最好还是去官网学,官网写 ...

  4. 50道CSS基础面试题(附答案)

    1 介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的? 标准盒子模型:宽度=内容的宽度(content)+ border + padding + margin低版本IE盒子模型:宽度 ...

  5. Android 从零开始搭建一个主流项目框架—RxJava2.0+Retrofit2.0+OkHttp

    我这里的网络请求是用的装饰者模式去写的,什么是装饰者模式呢?在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象.我的理解就是一个接口, ...

  6. javascript设计模式之装饰者模式

    /* * 装饰者模式提供比继承更有弹性的替代方案 * 在不改变原构造函数的情况下,添加新的属性或功能 */ //需要装饰的类(函数) function Macbook() { this.cost = ...

  7. iOS核心动画高级技巧之核心动画(三)

    iOS核心动画高级技巧之CALayer(一) iOS核心动画高级技巧之图层变换和专用图层(二)iOS核心动画高级技巧之核心动画(三)iOS核心动画高级技巧之性能(四)iOS核心动画高级技巧之动画总结( ...

  8. ConcurrentHashMap源码刨析(基于jdk1.7)

    看源码前我们必须先知道一下ConcurrentHashMap的基本结构.ConcurrentHashMap是采用分段锁来进行并发控制的. 其中有一个内部类为Segment类用来表示锁.而Segment ...

  9. word2013标题编号变成黑框

    在使用word2013时,之前正常的标题编号有部分变成了黑框 解决方法: 1.将光标移动到标题中黑框右侧 2.按动键盘上的左方向键,直到黑框变成灰色 3.同时按键盘 Ctrl+Shift+S键,弹出“ ...

  10. fpga 状态机 检测1011序列

    1011 可以使用4个状态:s0,s1,s2,s3. 即:(1)s0有0或1两个状态,当s0位0时,进入s0状态,自身打圈.为1那么进入下个状态s1来检测0. (2)s1有0或1两种情况,s1为1时s ...