一、集合定义及其功能

集合是一个无序的、不重复的数据组合,和字典列表一样也是一种数据类型。

集合两个最主要的功能:①去重(把一个列表变成集合,就自动去重了)

②关系测试(测试两组数据之间的交、并、差集等关系)

二、关系测试

首先,如何创建集合?

两种方式:(1)直接创建

a=set([1,8,2,3,5,4,5,3])

(2)将列表转化成集合

list1=[5,9,7,3,6,6,7,95,78,65,102]       #创建列表

list1=set(list1)                                      #将列表转化成集合

在这里需要说明,集合是无序的,尽管将集合a输出:print(a),得到的结果是

看上去好像自动做了排序,其实不然,只是集合的数据太少了,输出list1就不是这样了:

1.取两个集合的交集:

两种写法:①intersection()方法

print(list1.intersection(a))
print(a.intersection(list1))

这两种写法没有任何区别,输出结果都是

②数学表示

print(list_1 & a)

2.取并集:

也是两种方法:①union()方法

print("union:",a.union(list_1))

②数学表示

print("union:",a|list_1)

输出结果:

3.取差集:

亦是两种方法:①difference()方法

print("difference:",list_1.difference(a))  #差集(list_1减去交集)
print("difference:",a.difference(list_1)) #差集(a减去交集)

②数学表示

print("list_1 - a :",list_1-a)
print("a - list_1 :",a-list_1)

运行结果:

4.判断是否是父集和子集的关系:

issubset()方法和issuperset()方法

print("issubset:",list_1.issubset(a))         #判断list_1是不是a的子集
print("issuperset:",a.issuperset(list_1)) #判断a是不是List_1的父集

当然,肯定都不是,再创建一个集合试一试

list_2=set([1,3,5])
print(list_2.issubset(a)) #判断list_2是不是a的子集,是则返回True
print(a.issuperset(list_2)) #判断a是不是list_2的父集,不是返回False

运行结果:

5.对称差集:

对称差集是指两个集合的并集减去交集

①symmetric_difference()方法

print("symmetric_difference:",a.symmetric_difference(list_1))

②数学表示

print("a^list_1:",a^list_1)

运行结果:

6.判断是不是相交

list_3=set([50,30,60])
print("isdisjoint:",a.isdisjoint(list_3)) #判断两个集合之间的关系是不是相交,如果相交返回False
print("isdisjoint:",a.isdisjoint(list_2))

运行结果:

三、集合的操作

1.添加数据

添加一项:

a.add("abc")   #添加一项

添加多项:

a.update([20,30,90])

2.删除数据

①remove()方法

a.remove("abc") #删除字符“abc”

②pop()方法

print(a.pop())  #随机删除,并返回删除的值

③discard()方法

a.discard(30)   #删除数据

3.获取集合的长度

print(len(a)) #集合 a 的长度

4.判断数据是否是集合的成员

print(30 in a)           #判断30是否是集合a的成员(列表、字典、集合、字符串都可以用这种方法来判断)
print(30 not in a) #判断30是否不是集合a的成员

初学Python——集合及其运算的更多相关文章

  1. Python集合及其运算

    目录 集合(set) 集合的创建 集合的操作 集合的运算 子集与父集 集合(set) 集合是由不同可hash的值组成的,里面所有的值都是唯一的,也是无序的 集合的创建 >>>set_ ...

  2. python集合的运算

    &  交集  | 并集    - 差集  ^ 异或集 # 在对集合做运算时,不会影响原来的集合,而是返回一个运算结果 # 创建两个集合 s = {1,2,3,4,5} s2 = {3,4,5, ...

  3. day14 Python集合关系运算交,差,并集

    low逼写法,没用集合 python_1 = ['charon','pluto','ran'] linux_1 = ['ran','xuexue','ting'] python_and_linux = ...

  4. python 集合的运算

    x = frozenset([, , , , ]) y = frozenset([, , , , ]) #如果x与y没有公共元素,返回true print(x.isdisjoint(y)) #返回x与 ...

  5. Python全栈之路3--set集合--三元运算--深浅拷贝--初识函数

    一.上节课的重点回顾: 1.类名加括号其实就是执行类的__init__方法: 2.int a.创建方式 n1 = 123 #根据int类创建了一个对象 n2 = int(123) #根据int类创建一 ...

  6. 初学Python(四)——set

    初学Python(四)——set 初学Python,主要整理一些学习到的知识点,这次是set. # -*- coding:utf-8 -*- #先来看数组和set的差别 d=[1,1,2,3,4,5] ...

  7. 初学Python(一)——数据类型

    初学Python(一)——数据类型 初学Python,主要整理一些学习到的知识点,这次是数据类型. #-*- coding:utf-8 -*- #整数 print 1 #浮点数=小数 print 1. ...

  8. 初学python之感悟

    python的强大有目共睹,现将初学python,觉得其中比较重要的知识罗列如下: 类似于数组的东西:列表.元组.集合.字符串以及字典,这几个东西充分体现了python的强大和逆天. 列表: x=[1 ...

  9. python集合类型

    集合类型简介 集合也是容器,其内元素都是无序.唯一.不可变的.它常用来做成员测试.移除重复数据.数据计算(比如交集.并集.差集). 集合Set是dict的无value版.集合也使用大括号包围: > ...

随机推荐

  1. Session过期,跳出iframe框架页显示会话过期页面

    web开发中经常会有这种情况,在一个主页面中包含侧边导航菜单和iframe,点击菜单项,对应页面会在iframe中显示,整个页面不会刷新.但是如果设置了会话Session,在会话过期后再操作会自动re ...

  2. 2018-06-20 中文代码示例视频演示Python入门教程第三章 简介Python

    知乎原链 Python 3.6.5官方入门教程中示例代码汉化后演示 对应在线文档: 3. An Informal Introduction to Python 不知如何合集, 请指教. 中文代码示例P ...

  3. Django之URL路由系统

    一 URL配置 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表.你就是以这 ...

  4. DotNetBar的窗口样式丢失

    DotNetBar的窗口样式丢失 C# 调用DotNetBar很方便,将DevComponents.DotNetBar2.dll和DevComponents.DotNetBar.Design.dll放 ...

  5. Java 线程方法

    线程标识相关 方法 描述 public Thread(Runnable target, String name)  带参数的构造方法, 第二个参数是线程名称 public static Thread ...

  6. Verilog实现模长等于六十的二进制编码计数器

    注释都加上了 由于参考网上的代码,其实现了置数 ,使能等功能,一并加上了 编译结果能通过 百度网盘文件下载:https://pan.baidu.com/s/1IVTD19NRk-s2dKBXtATkA ...

  7. springboot 学习之路 6(集成durid连接池)

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  8. Win7下安装OpenSSL出现的问题

    1. cl.exe 运行出现错误,提示“丢失mspdb100.dll”等字样,需要将 C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE ...

  9. python 约束与异常处理

    一.类的约束 1.约束就是对类的约束.其实就是父类对子类进行约束,子类必须要写xxx方法. 2.抽象:就是当我们没法对一个功能或者一个属性进行精确的表述,一般都采用抽象的方式给出. (1)抽象类的书写 ...

  10. 【大数据技术】Flink

    “下一代大数据处理引擎王者” Apache Flink 它既能保证数据一致性“Exactly Once",又能实时快速的处理海量数据.与生俱来的 Watermark 功能让它能对复杂数据乱序 ...