集合是一个无序的,不重复的数据组合。主要作用如下:
1、去重,把一个列表变成集合,会自动去重;
2、关系测试,测试两组数据之前的交集、差集、并集等关系
#!/user/bin env python
# author:Simple-Sir
# time:20180916
# 集合
'''
集合是一个无序的,不重复的数据组合,主要作用如下:
1、去重,把一个列表变成集合,会自动去重;
2、关系测试,测试两组数据之前的交集、差集、并集等关系
关系运算符:
a = b | c #并集
a = b & c #交集
a = b - c #差集
a = b ^ c #对称差集(a有或b有,且剔除ab都有的。)
''' list_1 = [1,4,5,7,3,6,7,9]
list_1 = set(list_1)
list_2 = set([2,4,6,8,11,22]) print('打印两个集合:',list_1,list_2)
print('交集:',list_1.intersection(list_2)) #取交集
print('符号交集 &:',list_1 & list_2) #取交集
print('并集:',list_1.union(list_2)) #取并集
print('符号并集 |:',list_1 | list_2) #取并集 print('差集:',list_1.difference(list_2)) # 取差集:list_1中有,list_2没有
print('符号差集 -:',list_1 - list_2) # 取差集:list_1中有,list_2没有
print('差集:',list_2.difference(list_1)) # 取差集:list_2中有,list_1没有
print('符号差集 -:',list_2 - list_1) # 取差集:list_2中有,list_1没有 print('对称(反向)差集:',list_1.symmetric_difference(list_2)) #对称(反向)差集:剔除交集的数据
print('符号对称(反向)差集 ^:',list_1 ^ list_2) list_3 = set([1,3,5])
print('判断list_3是否是list_1的子集:',list_3.issubset(list_1)) #判断list_3是否是list_1的子集
print('判断list_1是否是list_3的父集:',list_1.issuperset(list_3)) #判断list_1是否是list_3的父集 list_4 = set([6,7,8])
print('判断list_3和list_4是否有交集:',list_3.isdisjoint(list_4)) #判断list_3和list_4是否有交集 list_1.add(111) #添加一项
print('添加一项:',list_1)
list_1.update([222,333,444]) #添加多项
print('添加多项:',list_1) list_1.remove(444) #删除一项,若删除项不存在,会报错。
list_1.discard(333) #删除一项,若删除项不存在,不会报错。
print('删除一项:',list_1)
print('随机删除一项,并返回删除值:',list_1.pop()) #随机删除一项,并返回删除值 print('list_1的长度:',len(list_1)) #长度 # 注:列表、元组、字典 都是这样用(in,not in 一样)! a in b # a是否存在b中
print('判断1是否存在list_1中:',1 in list_1) #判断1是否存在list_1中
print('判断0是否不存在list_1中:',0 not in list_1) #判断1是否不存在list_1中

集合常用操作


执行结果:


附1:关系运算符
a = b | c #并集
a = b & c #交集
a = b - c #差集
a = b ^ c #对称差集(a有或b有,且剔除ab都有的。)

附2:
列表、元组、字典 判断某个值是否是其元素,都是此用法:(in,not in 一样)!
a in b # a是否存在b中
a not in b # a是否不存在b中

初识python: 集合的更多相关文章

  1. @1-2初识Python爬虫

    初识Python爬虫 Python爬虫(入门+进阶)     DC学院 环境搭建: Python2与Python3的差异:python2与python3整体差异不大,大多是一些语法上的区别,考虑到py ...

  2. 初识python(二)

    初识python(二) 1.变量 变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用. 1.1 声明变量: #!/usr/bin/env python # -*- coding: utf- ...

  3. 《初识Python之认识常量type函数》

    <初识Python之认识常量type函数> 1.2 认识常量 1.常量:我们用的就是它字面意义上的值或内容. 2.数字(Number) (1)整数表示:97. (2)浮点数表示:5.29 ...

  4. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  5. Python开发【第一篇】:初识Python

    初识python 一.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...

  6. Python开发【第二篇】:初识Python

    Python开发[第二篇]:初识Python   Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...

  7. Python 集合set添加删除、交集、并集、集合操作符号

    在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...

  8. 初识python面向对象

    一.初识python面向对象: class Person: #使用class关键字定义一个类 age=0 #类变量(静态变量) def eat(self,food): #定义一个方法 self.age ...

  9. [转]python集合set

    Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 来源网 ...

  10. 篇2 安卓app自动化测试-初识python调用appium

    篇2              安卓app自动化测试-初识python调用appium --lamecho辣么丑 1.1概要 大家好!我是lamecho(辣么丑),上一篇也是<安卓app自动化测 ...

随机推荐

  1. 通过js进行页面跳转的几种方式

    1.<a>标签 <a href="www.baidu.com" title="百度">百度</a> <a href= ...

  2. SQL Server 2014如何DATEDIFF()函数截取对应时间年月日

    4.1 定义和用法: DATEDIFF()函数返回两个日期之间的时间 4.2 语法 DATEDIFF(datepart,startdate,enddate) datepart值: year | qua ...

  3. 拉丁超立方体初始化种群(附Matlab代码)

    拉丁超立方体初始化种群 1.引言 群智能算法一般以随机方式产生初始化种群的位置,但是这种方式可能导致种群内个体分布不均匀.拉丁超立方体抽样方法产生的初始种群位置,可以保证全空间填充和抽样非重叠,从而使 ...

  4. linux 编程随笔

    Linux 命令: 在linux 系统中,所有的命令都是人为编写的程序,如 who 和 ls ,而且绝大多数都是C写的.在Linux 中增加新的命令是很简单的事,把程序的可执行文件放到以下目录就可以了 ...

  5. PowerDotNet平台化软件架构设计与实现系列(07):数据同步平台

    上文介绍定时任务调度平台的时候提到,定时任务调度平台的类模式一般用于处理耗时较长的任务.但是根据经验,有些耗时较长的任务,可以通过简化业务逻辑.分页.批量多次处理,改造为耗时较小的适合使用RESTfu ...

  6. linux安装软件系列之npm安装

    什么是rpm 百度说它是 Red-hat Package Manager (红帽包管理器) 其实它是:RPM Package Manager (RPM包管理器,来源于:https://rpm.org) ...

  7. RegExp正则表达式(三)–js中正则表达式的定义

    在js中,RegExp正则表达式的定义有两种方式:一种是普通方式,另一种是构造函数方式.无论是那种定义正则表达式的方式,它们都会返回RegExp对象. 普通方式定义正则表达式的格式 语法: var 变 ...

  8. webservice注意事项

    1.private static final QName PORT_NAME = new QName("http://server.helloworld.cxf.demo/",&q ...

  9. Sharepoint 列表分页开发

    虽然现在linq技术对列表操作都是对实体操作了,但是linq有一点不好,那就是分页舞从下手,假如查出满足条件的记录有1万条,而在分页的时候我每次只需要显示10条,那么我每次点击下一页的时候都查询的是1 ...

  10. Spring学习(二)三种方式的依赖注入

    1.前言 上一篇讲到第一个Spring项目的创建.以及bean的注入.当然.注入的方式一共有三种.本文将展开细说. 1.set注入:本质是通过set方法赋值 1.创建老师类和课程类 1.Course ...