集合运算

Python基础介绍(一):变量的类型及应用方法

Deadly 提交于 2020-01-21 00:23:54
Python基础(一) 变量的类型及应用方法 变量的类型: Numbers(数字): * int(有符号整型) * float(浮点型) * long(长整型) * complex(复数) Bool类型: * True(真) * False (假) String(字符串) List(列表) Tuple(元组) Dictionary(字典) Set(集合) 查看变量的类型: type(变量名) 常用的数据类型转换 : 函数 说明 int(x) 将x转换为一个整数 float(x) 将x转换为一个浮点数 str(x) 将对象 x 转换为字符串 tuple(s) 将序列 s 转换为一个元组 list(s) 将序列 s 转换为一个列表 eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象 运算符 算术运算符 运算符 描述 实例 + 加 两个对象相加 a + b 输出结果 30 - 减 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 / 除 b / a 输出结果 2 // 取整除 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 % 取余 返回除法的余数 b % a 输出结果 0 ** 指数 a**b 为10的20次方, 输出结果

STL-vector-set_difference B - 人见人爱A-B

二次信任 提交于 2020-01-20 23:49:34
B - 人见人爱A-B 参加过上个月月赛的同学一定还记得其中的一个最简单的题目,就是{A}+{B},那个题目求的是两个集合的并集,今天我们这个A-B求的是两个集合的差,就是做集合的减法运算。(当然,大家都知道集合的定义,就是同一个集合中不会有两个相同的元素,这里还是提醒大家一下) 呵呵,很简单吧? Input每组输入数据占1行,每行数据的开始是2个整数n(0<=n<=100)和m(0<=m<=100),分别表示集合A和集合B的元素个数,然后紧跟着n+m个元素,前面n个元素属于集合A,其余的属于集合B. 每个元素为不超出int范围的整数,元素之间有一个空格隔开. 如果n=0并且m=0表示输入的结束,不做处理。Output针对每组数据输出一行数据,表示A-B的结果,如果结果为空集合,则输出“NULL”,否则从小到大输出结果,为了简化问题,每个元素后面跟一个空格. Sample Input 3 3 1 2 3 1 4 7 3 7 2 5 8 2 3 4 5 6 7 8 0 0 Sample Output 2 3 NULL 1 #include<iostream> 2 #include<algorithm> 3 #include<vector> 4 using namespace std; 5 6 int n, m; 7 int a[110], b[110]; 8 9 int main()

set的使用

旧时模样 提交于 2020-01-20 17:53:07
集合是Python的一种数据类型,集合是一个可变容器。常用于列表的去重。 什么是集合 集合是一个可变容器 集合中的数据对象都是唯一的(不可重复) 集合是无序的存储结构 集合是可迭代对象 集合内的元素是不可变的 创建集合 使用 {} 创建集合,集合元素使用 , 隔开 s = {1, 2} 注意 :使用 {} 不可以创建空集合,因为创建出来的是一个字典。 使用构造函数创建集合 s = set() 集合的运算 交集- & s1 = {1, 2, 3} s2 = {2, 3, 4} print(s1 & s2) 并集- | s1 = {1, 2, 3} s2 = {2, 3, 4} print(s1 | s2) 补集- - s1 = {1, 2, 3} s2 = {2, 3, 4} print(s1 - s2) # 生成属于s1但不属于s2的所有元素 对称补集- ^ s1 = {1, 2, 3} s2 = {2, 3, 4} print(s1 - s2) 还有一些基本的运算,可以查看Python运算符进行学习 集合的内建函数 len() 集合内元素的个数 max() 最大值 min() 最小值 sum() 和 s = {11, 22, 44, 6, 0, 10} print(len(s)) print(max(s)) print(min(s)) print(sum(s)) any()

最全面的_Redis_基本操作总结

可紊 提交于 2020-01-20 11:20:01
本文知识较浅面,适合小白,如需进阶另寻他路 一,优缺点: 优点: 高科拓展性 分布式计算 低成本 架构的灵活性、半结构化数据 没有复杂的关系 缺点: 没有标准化 有限的查询功能(到目前为止) 分类 列表存储 文档存储 Key-Value存储 图存储 对象存储 xml数据库 显著特性: 高效性:Redis读取的速度是110000次/S,写的速度是81000次/S。 原子性:对每一条数据操作要么成功,要么失败。 支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)。 稳定性:redis支持各种架构,主从复制,哨兵模式,redis集群。 其他特性:支持过期时间,支持事务,消息订阅。 二、操作: 1、安装: windows 下 : 点击此处 linux下: sudo apt install redis - server 使用方式: redis-cli 启动 -p # 端口 -h # 主机 三、数据库的切换: redis默认带有16个数据库,编号从0-15。进⼊redis后默认数据库是0,可以使用select num进⾏切换客户端不显示中⽂的处理:打开客户端的时候添加参数 –rawredis-cli --raw 四、数据类型: string 简介: string 可以包含任何数据,⽐如jpg 图⽚或者序列化的对象。

kafka要点总结

ⅰ亾dé卋堺 提交于 2020-01-20 10:16:10
做一个 kafka 的要点总结,官网或者博客都有大量资料 目录 基础术语 副本机制 Kafka数据备份 Leader选举 ISR集合方法 少数服从多数方法 如果所有的ISR副本都失败了怎么办 Kafka数据commit ISR配置 宕机如何恢复 少部分副本宕机 全部副本宕机 Zookeeper协调服务 Zookeeper的watch机制 Kafka分区策略 RangeAssignor分区策略 RoundRobinAssignor分区策略 StickyAssignor分区策略 Kafka性能调优 Kafka版本区别 Apache Kafka是一种发布订阅消息系统,一类消息被广播给所有订阅了该主题的用户,它是一种分布式的,分区化的,提供数据冗余以及持久化的日志服务。 Kafka支持海量数据的高速读写,一般在公司用做海量数据总线,连接后续的hadoop组件等,形成海量数据流。 基础术语 topic: 订阅主题,一般指一类消息。每个topic分成多个partition(分区), 每个分区都是一个有序的不可变的记录序列,不断追加到结构化日志中(持久化)。分区中每个记录都分配了一个偏移量ID,顺序递增,它唯一地标识分区中的每个记录。 partition: 分区,每个主题有1个至多个分区 消费者 : 负责订阅消息,对象为KafkaConsumer ,客户端接口。 消费者组 :

python的这些细节知识点你注意了吗?--内置类

痴心易碎 提交于 2020-01-20 01:09:54
目录 内置类的可变类和不可变类 bool()创建bool类型 整形类构造函数的第二个参数(控制转换的进制) 6e2 和 2. 都是浮点数 python序列类型(list,tuple,str) 集合set的两个特点 {}代表一个空的字典而非集合 内置类的可变类和不可变类 下面内容基于python3.6.8,python是一门面向对象的语言,类class是所有类型的基础,python中的类型有int,float,str,bool,list,set,tuple,dict,frozenset,需要注意的是,这些类被分为可变类和不可变类。 如果类的每一个对象在实例化时有一个固定的值,并且之后也不可以改变(就像int类型创建出来之后,它的值不可变,在进行赋值运算a = a + 1时,是创建了新的对象并把它赋值给a,值是a+1),它们就是不可变类,有int,float,str,bool,tuple,frozenset。 与之对应的是可变类,list,set,dict。 bool()创建bool类型 bool类用于处理逻辑布尔值,该类表示的实例只有True和False两个值。 python允许采用bool(foo)的语法用非布尔值foo创建一个布尔类型。就数字而言,0是False,其他皆为True。 对于序列(list,str,tuple)和其他容器类型,如果是空为False,非空为True。

数学的本质

喜夏-厌秋 提交于 2020-01-18 10:20:27
先说说数学的起源 在很早很早以前是没有阿拉伯数字 都是用物品来代替数字 后来出现了数字来表示 后来又出现了函数 矩阵 来表示集合 一系列的运算 当然集合一般来用几何来表示更为清晰 所以做数学题也一样 一般用几何来表示集合 来运算更好 来源: https://www.cnblogs.com/newmiracle/p/12208254.html

FreeMarker标签介绍

痴心易碎 提交于 2020-01-17 09:44:34
FreeMarker标签使用 一、FreeMarker模板文件主要有4个部分组成 1、文本,直接输出的部分 2、注释,即<#--...-->格式不会输出 3、插值(Interpolation):即${..}或者#{..}格式的部分,将使用数据模型中的部分替代输出 4、FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出。 FTL指令规则 FreeMarker有三种FTL标签,这和HTML的标签是完全类似的 开始标签:<#directivename parameters> 结束标签:</#directivename> 空标签: <#directivename parameters /> 实际上,使用标签时前面的#符号也可能变成@,如果该指令是一个用户指令而不是系统内建指令时,应将#符号改为@符号 插值规则 FreeMarker的插值有如下两种类型 1、通用插值:${expr} 2、数字格式化插值:#{expr}或者#{expr;format} 通用插值,有可以分为四种情况 a、插值结果为字符串值:直接输出表达式结果 b、插值结果为数字值:根据默认格式(#setting 指令设置)将表达式结果转换成文本输出。可以使用内建的字符串函数格式单个插值,例如 <#setting number_format = "currency" /> <#assign

Java集合一

泄露秘密 提交于 2020-01-17 03:38:49
java的集合类主要由两个接口派生而出:Collection && Map 这两个接口是集合框架的根接口     Collection----直接派生:Set(无序集合,元素不可重复) List(有序集合,元素可以重复) Queue队列          Map实现类用于保存具有映射关系的数据(每项数据都是key-value对)key用于标识集合里的每项数据     可以把java集合分为3大类:Set集合类似于一个罐子,把对象添加到Set集合时,Set集合无法记住元素添加的顺序                  List类似数组,长度可变,可以元素重复,有序集合                 Map也类似罐子,只是每个数据都是由key-value组成 Collection接口提供的方法:     boolean add(Object o):向集合里添加一个元素     boolean addAll(Collection c):将集合c里的元素添加的指定集合中     void clear():清除集合里所有的元素,将集合长度变为0     .。。。。。参考Api文档 使用Lambda表达式遍历集合     Iterable接口新增了forEach(Consumer action)默认方法,这个接口是Collection接口的父接口,Collection集合可以直接调用该方法

Java8 通关攻略

心已入冬 提交于 2020-01-15 11:11:57
点赞+收藏 就学会系列,文章收录在 GitHub JavaEgg ,N线互联网开发必备技能兵器谱 Java8早在2014年3月就发布了,还不得全面了解下 本文是用我拙劣的英文和不要脸的这抄抄那抄抄,熬出的,没有深究源码,只是对 Java8 有一个整体的认知,可以上手用起来,示例代码也都在github上 JDK 8 有什么新功能 Java 编程语言( Java Programming Language) Lambda表达式 :一个新的语言特性, 它们使您能够将函数视为方法参数,或将代码视为数据 方法引用 : 方法引用为已经有名称的方法提供易于阅读的lambda表达式 默认方法 :使用 default 关键字为接口定义默认方法(有实现的方法) 重复注解 提供了将同一注解多次应用于同一声明或类型使用的能力 类型注解 提供了在使用类型的任何地方应用注解的能力,而不仅仅是在声明上 Java8 增强了 类型推断 方法参数反射 java.util.function : 一个新的包,它包含为lambda表达式和方法引用提供目标类型的通用功能接口 集合(Collections) java.util.stream 包中新增了 Stream API ,用来支持对元素流的函数式操作 改进了有键冲突问题的 HashMap 精简运行时(Compact Profiles) 安全性(Security)