集合是一个无序的,不重复的数据组合。主要作用如下:
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. idea maven 项目 遇到 "Module not specified" 解决方法

    1. 原因:我这边出现的原因是 其他同事在提交代码是 将  这个文件夹也提交了,idea 会加载 .idea 里的配置(即 他的配置),而我的 maven 配置不同,导致出错. 2. 解决方法:删除这 ...

  2. Jenkins集成jira

    目录 一.Jenkins中Jira插件安装 二.Jenkins中Jira配置 一.Jenkins中Jira插件安装 点击 Manage Jenkins-->Manage Plugins--> ...

  3. Xpath 使用技巧

    使用xpath 简介 常见语法 选取节点 谓语 通配符 选取多个路径 运算符 其他用法 使用contains选取包含属性 使用tostring()将对象转换为字符串 使用starts-with 使用n ...

  4. 花授粉优化算法-python/matlab

    import numpy as np from matplotlib import pyplot as plt import random # 初始化种群 def init(n_pop, lb, ub ...

  5. Java 将PDF转为线性PDF

    线性化PDF文件是PDF文件的一种特殊格式,可以通过Internet更快地进行查看.线性化的PDF,在页面数量很多的情况下,更能突出表现出快速浏览的优势.下面是通过后端Java程序实现将PDF文件转为 ...

  6. JAVA执行cmd命令方法

    package com.cmd; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStre ...

  7. windows10下vscode+cmake编译Qt5代码

    概述 本文演示环境: windows10 cmake version:3.18 qt version: 5.14 vscode version: 1.54.1 本文演示环境基于在线模式, 离线使用VS ...

  8. 【LeetCode】349. Intersection of Two Arrays 解题报告(Java & Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:Java解法,HashSet 方法二:Pyt ...

  9. 写在LeetCode刷题600题

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 从2015年9月刷题至今,我终于在LeetCode刷够600道题了.从刚开始的Java语 ...

  10. 【LeetCode】732. My Calendar III解题报告

    [LeetCode]732. My Calendar III解题报告 标签(空格分隔): LeetCode 题目地址:https://leetcode.com/problems/my-calendar ...