数学集合

python 集合

匿名 (未验证) 提交于 2019-12-02 22:56:40
集合和字典一样,里面的顺序是无序的 集合里的元素需要是不可变类型,和字典中的键一样 所以集合可以理解为,只有键没有值的字典 集合的创建 1.直接使用大括号{}创建 集合元素是不可变类型所以可以使用数值,字符串,元组 而不能使用列表,字典当做元素值 如果你创建时在集合中写了重复的值,不会报错,但根据互异性,只会保存一个 2.使用列表或者元组创建 在set()里放入list或者tuple可以创建集合,该集合的元素就是列表或元组的元素 3.使用字符串创建 得到的集合的元素是字符串的每个字符 集合的方法 1.set.add( x ) 向集合中添加元素x 2.set.update(a_set) 使用集合a_set更新原集合,就是把括号里的集合的元素给set 3.set.pop( ) 删除并且返回集合中的任意元素 注意:这里的删除是不能指定删除谁的,和列表的不一样 4.set.remove(x) 删除集合中的元素x,如果x不存在就报错 5.set.discard(x) 删除集合中的元素x,如果x不存在则什么也不做 6.set.clear( ) 清空集合中的所有元素 集合的数学运算 判断元素是否在集合中 判断set3是否是set1的子集 原文:https://www.cnblogs.com/wbyixx/p/9347719.html

python 数据类型 之 集合

匿名 (未验证) 提交于 2019-12-02 22:56:40
集合是一个数学概念:由一个或多个确定的元素所构成的整体叫做集合 集合的三个特性:   1.确定性 (element必须可hash,不可变类型是可hash的)   2.互异性(集合中element 不能重复)   3.无序性(集合中没有先后之分,例如集合:{3,4,6}  等于{6,4,3})   #集合的存在意义在于去重和关系运算 集合的定义: st = set (‘ hello ‘) lis = list (‘ hello ‘) print ( st ) # {‘h‘, ‘o‘, ‘l‘, ‘e‘} print ( lis ) # [‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘] # 【注意】 dic ={}#空花括号{},代表定义字典 print (‘ dic type :% s ‘% type ( dic )) >>: dic type :< class ‘ dict ‘> st = {‘ h ‘, ‘ e ‘, ‘ l ‘, ‘ l ‘, ‘ o ‘}#定义的时候集合内出现了重复的项,但是并没有报错,只是剔除了重复 element print ( st ) # {‘h‘, ‘o‘, ‘l‘, ‘e‘} 1 )集合是无序的, 不重复的数据类型; 2 )因此不支持索引,也不支持切片;也不支持重复;也不支持连接; 3 )支持成员操作符; 4 )支持 for 循环; #

Java集合

匿名 (未验证) 提交于 2019-12-02 21:38:03
集合与数组 数组: (可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。 集合: (只能存储对象,对象类型可以不一样)的长度可变(动态的数组),可在多数情况下使用。 集合的分类: 在java集合中,集合分了两个大的接口,分别为:Collection接口和Map接口。 Collection接口又分为:List接口和Set接口。分别由不同的子类来实现。 集合的方法: 我先创建一个ArrayList对象,用ArrayList来说明一下集合里面的基本方法: Collection coll = new ArrayList(); (1)、size()方法:返回集合中元素个数 System.out.println(coll.size()); (2)、add(Object obj):向集合中添加一个元素(注:现在我没有使用泛型,所以不同类型的数据都能添加到集合中) coll.add("AA"); coll.add(new Date()); coll.add(123); coll.add('B'); (3)、addAll(Collection coll):将形参coll中包含的所有元素添加到当前集合中 Collection coll1 = Arrays.asList(1,2,3); coll.addAll(coll1);

简单电路中的逻辑学(一)

纵饮孤独 提交于 2019-12-02 19:43:41
注:本文中的部分内容改编自 [美]Charles Petzold《CODE》 众所周知,逻辑学是数学所衍生出的一门拥有重大意义的科学,我们在高中数学课中结合着集合的概念学习了基础的逻辑学知识,学会了用Venn表示集合以及“¬”“∪”“∩”“⊇”等逻辑符号的使用。但大家有没有想过,当数学书上的逻辑知识和物理题中的电路图像相结合,会发生什么有趣的事情呢? 在展示出电路图象之前,我们先回顾一下我们已学过的逻辑知识: 设P、R为两集合,U为全集,则P和R的关系可以用如下Venn图表示: 再看一个复杂一点的例子: 设P、Q、R为两两又交的三个集合,U为全集(如下图) Venn图中的白色区域表示A集合, 求A集合用P、Q、R及逻辑符号连接的表现形式。 首先观察有图中白色区域与蓝色区域所构成的集合的并集为全集U,故A集合可以表示为 ¬ (蓝色区域表示的集合)。 而蓝色区域表示的集合为集合P、Q、R的交集,及可以表示为P∩Q∩R,进而A集合可以表示为¬(P∩Q∩R)。 然而这个式子看起来比较奇怪,我们希望使用更加“数学”的方式表示A集合,于是我们现在引入一种新的集合表示形式。 通过观察上面的表格,我们可以发现在逻辑学上,∪和+,∩和×,¬和1-x可以表示相同的意义。于是,我们又可以把集合A表示为 1-( P× Q × R )。 (值得注意的是

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

洛谷 P5020 货币系统

血红的双手。 提交于 2019-12-02 03:50:01
货币系统 题面查看 一道很好的思维题,在考场上的想法其实是YY出来的,没有严格的数学证明,这里就补证一下 首先,对于题目给出的货币系统 \((n,a)\) 我们把它看成集合 \(A\) ,然后就是要做一个化简,把不必要的数字 \(x(x \in A)\) 去掉,变成集合 \(B(m,b)\) ,使得 \(B\) 中的任意一个元素,都是不能被其他元素组成的 所以我们可以猜测 \(B \subseteq A\) ,然后我们运用反证法证明 我们假设 \(\forall x \in B,x \notin A\) 那么就是说 \(x\) 可以被 \(A\) 中元素组成,这些元素不能被 \(A\) 集合中其他元素组成(如果 \(\forall a_i\) 可以被其他元素组成,那么它必然可以被 \(a_1,a_2,...,a_j\) 代替) 证到这里就发现还需要一个结论, 不能被其他元素组成的 \(x(x \in A)\) 必然有 \(x \in B\) 我们同样用反证法 假设 \(\forall x \in A,x \notin B,x\) 不能被 \(a_i\) 组成 \((a_i \in A)\) 那么说明 \(B\) 集合必然有元素 \(a_j\) 可以组成 \(x\) ,那么 \(a_j \notin A\) 且 \(a_j\) 不能被 \(A\) 集合中的元素表示出,这与题目中的

大数据开发笔记day17

我的梦境 提交于 2019-12-01 11:13:08
大数据开发笔记day17 Java语言基础(主要是JavaSE部分) 今日所学的知识点: 一.TreeSet类 1.TreeSet:二叉树(红黑树)的特点:线程不安全,可以对Set集合中的元素进行排序 2.TreeSet排序原理 ①元素本身具有比较性(自然排序) ②集合具有比较性(比较器排序) 3.TreeSet练习 ①存储字符串并遍历 /* 用TreeSet类对象存储字符串并遍历 */ package com.oldboy11_17code; import java.util.TreeSet; public class TreeSetDemo_1 { public static void main (String[] args) { //创建一个字符串类型的TreeSet类对象 TreeSet<String> ts = new TreeSet<String>(); //添加元素 ts.add( "1" ); ts.add( "1" ); ts.add( "2" ); ts.add( "4" ); ts.add( "3" ); //遍历集合元素(去重、排序) for (String s : ts) { System. out .println(s); } } } 运行结果是: 1 2 3 4 ②存储自定义类对象并遍历,两种方式实现(元素具有比较性,集合具有比较性)

什么是数学的核心素养?

巧了我就是萌 提交于 2019-12-01 10:51:04
什么是数学的核心素养? 六十多年前,近代最伟大的法国数学学派布尔巴基说过,“从集合论观点看数学,数学的研究对象只有集合,除了集合之外,数学不研究任何其他问题,也不回答任何其他问题。” 根据国家教育部的安排,今年秋季入学的高中生都要学习集合以及相应的常用逻辑用语。对于上述布尔巴基的话,孩子们肯定“爱听”。培养学生的数学核心素养,这是一个好的开始! 袁萌 1 月 24 来源: CSDN 作者: yuanmeng001 链接: https://blog.csdn.net/yuanmeng001/article/details/79146414

离散数学基础——(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-:负有理数集合;