集合符号

Python——集合

我是研究僧i 提交于 2019-12-02 12:05:34
创建:   要创建一个set,需要提供一个list作为输入集合: s=set([1,2,3]) print(s)    注意,传入的参数[1, 2, 3]是一个list,而显示的{1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。   重复元素在set中自动被过滤: s=set([1,1,2,2,3,3]) print(s) 增加:    通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果: s=set([1,2,3]) s.add(4) print(s) s=set([1,2,3]) s.add(4) s.add(4) print(s) 删除:    通过remove()方法可以删除元素: s=set([1,2,3]) s.add(4) s.remove(4) print(s) 交集并集:   set可以看做是数学上的数字集合,因此可以进行交并集操作。交集通过符号 “&” 实现,而并集通过符号 “|” 实现 : s1=set([1,2,3]) s2=set([3,4,5]) print(s1&s2,s1|s2) 集合内置方法完整列表: 方法 描述 add() 为集合添加元素 clear() 移除集合中的所有元素 copy() 拷贝一个集合 difference() 返回多个集合的差集 difference

Python学习笔记(五)组合数据类型

天大地大妈咪最大 提交于 2019-12-02 11:57:12
  在之前我们学会了 数字类型 ,包括 整数类型、浮点类型和复数类型 ,这些类型仅能表示一个数据,这种表示单一数据的类型称为 基本数据类型 。然而,实际计算中却存在大量同时处理多个数据的情况,这种需要将多个数据有效组织起来并统一表示,这种能够表示多个数据的类型称为 组合数据类型 。 一、组合数据类型概述 组合数据类型 更能够将多个同类或不同类型组织起来,通过单一的表示使数据更有序、更容易。根据数据之间的关系,组合数据类型可以分为3类: 序列类型、集合类型和映射类型 。 序列类型 是一个元素向量,元素之间的存在先后关系,通过序号访问,元素之间不排他。 集合类型 是一个元素类型,元素之间无序,相同元素在集合中唯一存在。 映射类型 是“键-值”数据项的组合,每个元素是一个键值对,表示为(key, value)。 1.序列类型 序列类型 是一堆元素向量,元素之间存在先后关系,通过序号访问。 Python中有很多数据类型都是序列类型,其中比较重要的是str(字符串)、tuple(元组)list(列表)可以看成是单一字符的有序序列,属于序列类型。 序列类型有12个通用的操作符和函数 操 作 符 描 述 x in s 如果x是是的元素,返回True,否者返回False x not in s 如果x不是s的元素,返回True,否则返回False s + t 连接S和t s * n 或 n * s

测试的复习大纲

帅比萌擦擦* 提交于 2019-12-01 19:51:10
花了一个多星期整理上课使用的ppt,书写不易,请大家多多支持 文章目录 概述 计算机系统的软件可靠性问题 软件质量 软件可靠性 度量 软件故障 定义 错误 故障 失效 软件测试与软件可靠性 软件测试 软件生存周期 黑盒测试 测试原则 黑盒测试与白盒测试 黑盒测试 白盒测试 软件测试过程 单元测试 静态测试与动态测试 静态测试 动态测试 回归测试 $\alpha$测试 $\beta$测试 测试与调试 测试生命周期 测试工具 测试评估 软件质量评估 软件过程成熟度 第二章 三角形问题 NextDate函数 股佣金问题 功能性测试(黑盒测试) 优点 问题 常用测试方法 边界值分析 等价类测试 基于决策表的测试 第三章 结构性测试 结构性测试 常见的白盒测试方法有: 逻辑覆盖 程序控制图 McCabe的基本路径法 测试观点 符号测试 基本思想 程序插装 考虑的方面 用途 指导方针 基本原则 覆盖指标 数据流测试 定义/使用测试 定义/使用路径覆盖测试 概述 计算机系统的软件可靠性问题 1994年,Intel奔腾芯片缺陷 千年虫问题 ”冲击波“计算机病毒 2008年奥运会门票预售叫停 系统访问量超8倍 票务系统抗压测试 性能测试 软件质量 软件质量包括正确性,可靠性,可读性,可移植性和健壮性,主要含义是软件的可靠性 软件可靠性 特定环境下,在给定时间内,无障碍运行的概率 度量

python学习6

我是研究僧i 提交于 2019-12-01 10:04:20
python学习6 1. 使用id()可以查看一个变量的内存地址: name = 'alex' id(name) 2. 进制转换 十进制转换为二进制等: a = 10 #声明数字,默认十进制 b = bin(a) #二进制 b = oct(a) #八进制 b = hex(a) #十六进制 二进制等转换为十进制: a = '1011011011' print(int(a,base=2)) print(int(a,base=8)) print(int(a,base=16)) 3. 数据类型分类 可变不可变: 可变:列表,字典 不可变:字符串,数字,元组 访问顺序: 直接访问:数字 顺序访问:字符串,列表,元组 映射访问:字典 存放元素个数 容器类型:列表,元组,字典 原子类型:数字,字符串 集合(set) 1. 定义方式: # define set s = {1,2,3,'alex'}s = set('alexx')   set()里面的元素必须是可迭代的数据类型,内部通过for循环建立集合 不可变集合 定义: seta = frozenset([1,2,3,4,5]) 2. 集合特性: a. 不同元素 b. 无序排列 c. 集合元素只能使用不可变的数据类型 d. 集合可迭代,即可以使用for循环遍历 3. 集合可以进行简单的去重操作,但是原本元素的排列顺序不可恢复 集合(set

离散数学基础——(2)集合

匆匆过客 提交于 2019-12-01 05:33:48
集合的定义 集合 是数学中一个基本概念,它是集合论的研究对象,一般用大写字母表示,集合论的基本理论直到19世纪才被创立。最简单的说法,即是在最原始的集合论——朴素集合论中的定义,集合就是“确定的一堆东西”。 集合里的“东西”,叫作元素 ,一般用小写字母表示。 由一个或多个确定的元素所构成的整体叫做集合 。若x是集合A的元素,则记作x∈A(读作:x属于A );若x不是集合A的元素,则记作x∉A(读作:x不属于A ). 集合元素的特征 集合中的元素有三个特征: 确定性(集合中的元素 必须是确定的 ); 互异性( 集合中的元素互不相同 )。例如:集合A={1,a},则a不能等于1 ; 无序性(集合中的 元素没有先后之分 ),如集合{3,4,5}和{3,5,4}算作同一个集合. 表示集合的方法 1、列举法:将集合中的元素 全部列举出来 ,例 A={1,2,3,4}; 2、描述法,其形式为 {代表元素|满足的性质} ,例 A={x|0<x<1} 表示该集合的元素为大于0、小于1的实数; 3、图像法:用封闭曲线的内部表示集合,称为 Venn图 ; 例:集合 A 用 Venn图可表示为 4、符号法: N:非负整数集合或自然数集合{0,1,2,3,…}; N*或N+:正整数集合{1,2,3,…}; Z:整数集合{…,-1,0,1,…}; Q:有理数集合; Q+:正有理数集合; Q-:负有理数集合;

Codeforces Round #589 (Div. 2)

独自空忆成欢 提交于 2019-12-01 03:47:00
Codeforces Round #589 (Div. 2) A 刚开始以为有什么奇妙解法,想了3min后发现可以直接暴力搜。 (毕竟就个DIV2的A) B 模拟它的操作即可。 出现冲突的话flag置为0,最后输出0即可。 Main test的时候把我卡掉了…因为我忘记处理连续长度为0的时候与之前某些操作会冲突的可能性了… D 最开始因为看错了C的题面( 没有视力) ,就莽D了… 想了一下后作出这样的算法,先读入所有的边,star存图。然后遍历每一个点,1结点直接放入set1,对于之后的结点我们扫描这个结点所有的相邻点,并且根据这些相邻点所在的集合来确定这个点可以放的集合位置。这里在做的时候其实很朴素,如果有3个可以放,不妨放在set1;如果有2个可以放,不妨放在2,这是因为2和3的地位其实是等价的(因为我们是顺序的放结点进来,所以不会出现前面的会影响后面的情况);如果有1个可以放,那么显然只能放在这里(必要条件)。所有节点都处理完后我们就成功地把所有点进行了集合的分划,时间复杂度是O(m)。不过在此之前有一个地方要注意,如果这个图是不联通的,那么 肯定 是不能满足题意的(可以通过对前一个大联通块占据1、2、3个集合进行分类考虑),此处就不再赘述。判断联通性可以使用并查集。 上述的操作处理后,要进行一下final_check,具体说来就是满足题意中的

数据结构的几个概念

我的梦境 提交于 2019-11-29 23:39:08
一、基本概念 数据 描述客观事物的数值、字符以及能输入计算机且能被处理的各种符号集合 ,即数据是对客观事物采用计算机能够识别、存储和处理的形式所进行的描述 数据元素 组成数据的 基本单位 数据项 是数据不可分割的 最小单位 数据对象 性质相同 的数据元素的集合 数据类型 性质相同的值的集合,以及定义在这个值集合上的一组操作的总称 数据类型定义了两个集合,即该值类型的 取值范围 和该类型中可允许使用的一组 运算 目的:实现信息隐藏,将用户不必关心的细节封装 分类(“值”): 类别 可否分解 结构类型(成分可为非结构的,也可为结构的,如数组、结构体 由若干成分按某种结构组成。可分解 非结构的原子类型(C语言中的标准类型(整型、实型、字符型等)及指针 值不可分解 数据抽象与数据抽象类型 数据抽象类型(ADT) 转载博客 三种实现 传统的面向过程的程序设计 “包””模型"的设计方法 面向对象的程序设计 二、数据结构 数据结构的内容可归纳为三部分: 逻辑结构; 存储结构; 运算集合; 任何一个算法的 设计 取决于选定的数据( 逻辑 )结构,而算法的 实现 则依赖于采用的 存储 结构 数据结构 定义 相互之间存在一种或多种特定 关系 的数据元素的集合; 【注】 数据结构是一个 二元组 : Data_Structure = (D,R) 其中,D是指数据元素的有限集,R是D上关系的有限集 逻辑结构

数据结构的基本概念

元气小坏坏 提交于 2019-11-29 18:05:08
基本概念以及术语 数据 数据: 信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。例如在生活中,我们的身份信息、看到的图片、听到的音乐都可以作为数据来进行输入和处理。 数据对象: 具有相同性质的数据元素的集合,是数据的一个子集。例如所有人的身份信息可以作为一个数据对象。 数据元素: 数据的基本单位,通常作为一个整体进行考虑和处理。例如每一个人的身份信息可能就是一个数据元素。 数据项: 构成数据元素的不可分割的最小单位。在身份信息中,有姓名、有身份证编号,这样的信息就是数据元素中的数据项。 例如,上图是具有人物和螃蟹的数据的集合。其中所有的人物就是一个数据对象,它是具有相同性质的数据元素的集合;每一个人物都是一个数据元素,可能在该人物当中,帽子的颜色、书包的颜色都可以作为数据项。 数据类型: 是一组值的集合和定义在该集合上的操作的总和。其中有 原子类型 ,原子就是不可再分割的意思,它是原子类型值的集合和定义在该集合上的操作。例如在 C 语言中的 int、char、float 等都是原子类型。除了原子类型,还有 结构类型 ,它是结构的集合和定义在集合上的操作。结构就是多个原子类型值的组合,其中有 list、map、set 等。最后还有 抽象数据类型 ,它是数据模型以及定义在该数据模型上的操作,可以用一个三元组来表示,分别是数据对象

#编译原理# 文法和内容(二)

偶尔善良 提交于 2019-11-29 17:35:18
文法和内容 编译原理笔记第二部分,内容参考:北航软院教师邵兵课堂课件及内容、张莉著《编译原理及编译程序构造》、国防工业出版社的《编译原理——学习指导与典型题解析》、 AlvinZH的学习笔记 以及个人理解 目前是包含了全部内容的版本,后续会推出精简版和复习知识点版 如有建议或错误错误欢迎在评论中指出或联系我:QQ:847590417 阅读目录 本章内容 2.1 形式语言基础 2.2 文法的非形式讨论 2.3 文法和语言的形式定义 2.4 语法树和二义性文法 2.5 句子的分析 2.6 有关文法的实用限制 2.7 文法的其他表示法 2.8 文法和语言分类 习题内知识 本章内容 重点:符号串、符号串集合的计算、文法、语言、递归、短语、句柄、语法树、文法的二义性、文法的使用限制、BNF表示文法、语法图、文法的分类。 2.1 形式语言基础 一、字母表和符号串 字母表:符号的非空有限集 符号:字母表中的元素 符号串:由符号拼接成的有穷序列 空符号串:没有任何符号的符号串 符号串的形式定义: 假设有一个字母表P:1.空符号串是P上的符号串;2.若x是P上的符号串,且a是字母表里的一个元素,则ax或xa(可以左,可以右,但只能一个不能同时加)是P上的符号串(一个符号也是符号串,a拼接ε);3.y是P上的符号串,当且仅当(iff)y是符合1.和2.的符号串。 二、符号串和符号串集合的运算 1

第二次作业 2.理解文法和语言

只愿长相守 提交于 2019-11-29 10:27:52
1.理解符号串与集合运算。 L={A,B, … ,Z,a,b, … ,z} D={0,1, … ,9} 说明下表示的含义: LUD LD L4 L* D+ L(LUD)* LUD:全部字母和数字的集合 LD:一个字母后跟一个数字组成的集合 L4:由4个字母组成的所有符号串的集合 L*:由字母组成的所有符号串的集合 D+:一个或若干个数字组成的符号串的集合 L(LUD)*:以字母开头,后跟字母、数字组成的所有符号串的集合。 2.文法G(Z):Z->aZb|ab定义的是什么样的语言? Z->ab Z->aZb ->aabb Z ->aZb ->aaZbb ->aaabbb 所以定义的是a n b n。 3.写出教材22页例2.2中标识符的文法四元组形式(VN,NT,P,S)。 I-> L-> D-> V N ={I,L,D} V T ={L,D} P={I->L,I->IL,I->ID,L->L,D->D} S={I} 4.写出下列表达式的最左推导、最右推导。 G(E): E=> E + T | T T=>T * F | F F=>(E)| i i*i+i i+i*i i+(i+i) 注意观察最左和最右推导过程的不同。 i*i+i: 最左推导:E=>E+T=>T+T=>T*F+T=>F*F+T=>i*F+T=>i*i+T=>i*i+F=>i*i+i 最右推导:E=>E+T=>E+F=