一、集合set()的特点:

集合的特点:有的可变,有的不可变;元素无次序,不可重复。

集合中的元素不能重复,可作为一种简单高效的元素去重方式。

集合没有索引,它的元素无次序,不是序列。

利用set()和{}建立集合时,要求集合中的元素必须是可哈希(hsshable)的,即在利用set()和{}创建集合的时候,集合中的元素必须是不可变的。

利用set()创建的集合是可变集合,它的类型是不可哈希(unhashable)的。对于这句话的理解是,set()创建的集合,整体上是可变的,可以增、删;但集合中的元素(个体)是不可变(hashable)的,不能被修改,且集合中的元素不能是列表、字典等可变类型的对象。

二、集合运算

ps:程序源代码的许多知识点,我都是写在注释中的,,所以看代码中的注释很重要!


list_1 = [1,3,4,2,6,7,3,5,9]
list_1 = set(list_1) list_2 = [2,43,323,1,6,86]
list_2 = set(list_2)
list_3 = set([3,4,7])
print(list_1,type(list_1)) # 集合是set,看起来是有序的,但其实是无序的
print(list_1.intersection(list_2)) # 交集 等于list_1^list_2
print(list_1.union(list_2)) # 并集 等于list_1|list_2
print(list_1.difference(list_2)) # 差集(1有2无) 等于list_1-list_2
print(list_1.issubset(list_3)) # 子集
print(list_1.issuperset(list_3)) # 父集
print(list_1.symmetric_difference(list_2)) # 对称差集,把并集中的交集去掉

python中集合及运算的更多相关文章

  1. Python中集合set()的使用及处理

    在Python中集合(set)与字典(dict)比较相似,都具有无序以及元素不能重复的特点 1.创建set 创建set需要一个list或者tuple或者dict作为输入集合 重复的元素在set中会被自 ...

  2. Python 中的三元运算(软件测试中运用)

    前言 在java中,有类似于 (condition) ? a :b 这样的语法,表示如果condition 为真,返回a,反之返回b.我们称之为三元运算. 那Python中,有没有这样的语法呢,非常遗 ...

  3. python中集合set,字典dict和列表list的区别以及用法

    python中set代表集合,list代表列表,dict代表字典 set和dict的区别在于,dict是存储key-value,每一个key都是唯一的,set相对于dict存储的是key,且key是唯 ...

  4. python中的三元运算

    一.三元运算符 三元运算符就是在赋值变量的时候,可以直接加判断,然后赋值 格式:[on_true] if [expression] else [on_false] res = 值1 if 条件 els ...

  5. Python中的算数运算

    算数运算符 计算机,顾名思义就是负责进行 数学计算 并且 存储计算结果 的电子设备 目标 算术运算符的基本使用 01. 算数运算符 算数运算符是 运算符的一种 是完成基本的算术运算使用的符号,用来处理 ...

  6. python中的张量运算(tensor)

    1,首先比较二者的参数部分:这就是处理0阶张量和1阶张量的区别 np.max:(a, axis=None, out=None, keepdims=False) 求序列的最值 最少接收一个参数 axis ...

  7. python中集合-set

    集合-set 集合是高中数学中的一个概念 一堆确定的无序的唯一的数据,集合中每一个数据成为一个元素 # 集合的定义 s = set() print(type(s)) print(s) print(&q ...

  8. Python学习-31.Python中集合的一些操作

    add方法: s = {1,2,3} s.add(4) print(s)# {1, 2, 3, 4} 同list的append方法,若调用s.add(3),则不会有任何影响.这点与C#中的HashSe ...

  9. (转)Python中集合(set)的基本操作以及一些常见的用法

    原文:http://blog.51cto.com/10616534/1944841 Python除了List.Tuple.Dict等常用数据类型外,还有一种数据类型叫做集合(set),集合的最大特点是 ...

随机推荐

  1. Android之xml解析

    利用类下载器解析Xml文件要解析的xml文件<?xml version="1.0" encoding="utf-8"?><info> & ...

  2. Docker学习记录--入门了解+安装

    Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制, ...

  3. 浅谈k短路算法

    An Old but Classic Problem 给定一个$n$个点,$m$条边的带正权有向图.给定$s$和$t$,询问$s$到$t$的所有权和为正路径中,第$k$短的长度. Notice 定义两 ...

  4. you must restart adb and eclipse的相关解决办法

    问题是5037端口被占用: C:\>netstat -aon|findstr "5037" 看到了吗,端口被进程号为5037的进程占用,继续执行下面命令(也可以去任务管理器中 ...

  5. 基础选择器,长度与颜色,标签display,嵌套关系,盒模型,盒模型布局

    css基础选择器 # *(统配选择器): 控制html, body,以及body下所有用于显示的标签 # div(标签选择器): 该标签名对应的所有该标签 # .(class选择器)(eg: .div ...

  6. topcoder srm 690 div1 -3

    1.给定一个数字$N$,从1到100的100个数字中选出$K$个数字(设为集合$S$),然后对$S$进行如下运算: (1)删除$S$中的某些数字:(可以删除0个数字) (2)将$S$中的某些数字取为它 ...

  7. Spring 学习——Spring JSR注解——@Resoure、@PostConstruct、@PreDestroy、@Inject、@Named

    JSR 定义:JSR是Java Specification Requests的缩写,意思是Java 规范提案.是指向JCP(Java Community Process)提出新增一个标准化技术规范的正 ...

  8. Bytom国密网说明和指南

    比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 国密算法 ...

  9. 在WPF中调用另存为对话框

    Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); dlg.FileName = "User ...

  10. Vs Code搭建 TypeScript 开发环境

    一.npm install -g typescript 全局安装TypeScript   二.使用Vs Code打开已创建的文件夹,使用快捷键Ctrl+~启动终端输入命令 tsc --init 创建t ...