首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

代码中的减法

比如MapReduce框架,采用分而治之的思想,最原始的数据由各个map处理,reduce将map的结果汇合,这么简单的框架就解决了很多大数据的问题,待Apache将其开源后,引领了大数据开源社区的发展...还有些经验丰富的程序员告诉我们“负责任的工程师在离职前会删代码”也佐证了这一点,他们利用最后一段空闲时间,梳理程序的脉络,删除冗余的逻辑,让代码更加的清晰,方便接手的人维护。   ...接手小米流量最大的一块业务后,随着公司对数据的需求越来越大,流量也在不断的增长,后端的性能也受到了极大地挑战,经常出现实时计算以及例行任务不能按时完成的情况。...在代码构建或者维护过程中,都可以参考以下几点。 抽象公共库   将常用的方法和变量,抽象到公用库中,不仅可以减少代码量,也降低了维护成本。...公共库中的类,还更容易发现潜在的错误,因为该方法会被不同的人在不同场合review,增加了bug的曝光量 采用开源的库   和抽象公共库类似,只不过这些库不是自己写的,而是由公司的其他团队或者开源社区提供

87210

【Python】集合 set ① ( 集合定义 | 集合特点 | 代码示例 - 集合定义 )

一、集合特点 在之前 的博客中 介绍了 列表 / 元组 / 字符串 数据容器 , 列表 支持 定义后 , 增加元素 / 修改元素 / 删除元素 , 并且 列表中可以存储 重复 / 有序 的元素 ; 元组...数据容器 , 就无法使用这两个数据容器 ; 本篇博客介绍一种新的 自带去重功能 数据容器 : " 集合 " , 集合 数据容器 中的元素 不能重复 ; 二、集合定义 集合 使用 大括号 {} 进行定义...大括号 {} 定义 ; 三、代码示例 - 集合定义 在下面的集合中 , 分别定义了 集合字面量 / 集合变量 / 空集合 ; 其中定义集合变量时 , 定义了两个重复元素 ‘Tom’ 字符串 , {"Tom...", "Jerry", "Jack", "Tom"} 由于 集合 数据容器中的元素 不能重复 , 在集合中 , 这两个 Tom 字符串需要删除一个 , 这里将第一个 Tom 字符串被删除 , 保留第二个...Tom 字符串 ; 代码示例 : """ 集合 代码示例 """ # 定义集合字面量 {"Tom", "Jerry", "Jack"} # 定义集合变量 names = {"Tom", "Jerry

20640
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python中的集合

    初学Python时,有很多定义都比较模糊,不是特别理解,导致一到使用就卡壳。 本文致力用最简洁的语言、最清晰的例子,跟你一起理解Python中的集合函数。 一、什么是集合?...高中的时候我们就学过集合,Python中的集合与之概念类似,又有不同。 Python中的集合专门用于存储信息,存储的元素无序且不能重复,它用一对花括号{}定义,数据之间用逗号隔开。...二、集合的定义和实例 Python中用set和{}创建的集合是可变集合,用frozenset创建的是不可变集合。 不可变集合不可以增加、删除集合中的元素,即集合内容不可变。...= set1 - set2 #set1中的元素去除set2中有的元素 得到结果: {'安康', '幸福'} 4 两个集合求差分 集合的差分运算又叫对称差运算,是集合的异或运算。...3.Python中集合不能通过索引访问,可以通过for循环调用集合中的元素。

    1K10

    python中的集合

    一、目录 1、集合概述 2、关于集合的操作符、关系符号 3、集合的一系列操作(添加、更新、访问、删除) 4、关于集合的内建函数、内建方法 5、小结 二、集合概述 集合(set):把不同的元素组成一起形成集合...,是python基本的数据类型。...集合对象是一组无序排列的可哈希的值:集合成员可以做字典的键 >>> li=[['a','b','c'],['a','c']]>>> se = set(li)Traceback (most recent...:可变集合、不可变集合 可变集合(set):可添加和删除元素,非可哈希的,不能用作字典的键,也不能做其他集合的元素 不可变集合(frozenset):与上面恰恰相反 集合操作符与关系符号:(忘完了!)...三、集合的相关操作 1、创建集合 由于集合没有自己的语法格式,只能通过集合的工厂方法set()和frozenset()创建 >>> s = set('beginman')>>> s set(['a',

    90220

    - Python中的集合

    集合中所有的元素放在 {} 中间,并用逗号分开,例如:{1, 2, 3},一个包含 3 个整数的集合{‘a’, ‘b’, ‘c’},一个包含 3 个字符串的集合集合的示例# 声明cars = {'奥迪'...重点:因为 set 集合只能包含不可变对象元素,而列表、集合本身都是可变对象,所以会报错 集合与列表的区别在 Python 中,集合与列表的区别如下:列表中的元素允许重复,集合中的元素不允许重复,示例如下...remove 方法从集合中删除一个元素 ‘imooc’在第 4 行,显示集合中已经删除了一个元素 clear() 方法clear() 方法移除集合中的所有元素,示例如下:>>> x = {1, 2,...3}>>> x{1, 2, 3}>>> x.clear()>>> xset()在第 1 行,创建了一个包含 3 个元素的集合在第 4 行,使用 clear() 方法移除集合中的所有元素在第 5 行,显示集合...() 方法返回集合 x 和集合 y 的交集在第 4 行,显示两个集合的交集 issubset() 方法issubset() 方法判断指定集合是否为子集,示例如下:>>> x = {1, 2, 3}>>>

    10621

    NCL转Python示例脚本集合

    为了帮助大家从NCL迁移到Python,开发者也是想尽了办法啊,最近有发起了新的项目-GeoCAT Examples[1],提供了很多的与NCL网站示例脚本对应的Python脚本,旨在帮助大家从NCL逐步迁移到...此外,还创建了另一个项目:geocat-viz[2],提供了不少用于画图的工具函数。 在提供了的很多Python绘图示例脚本中,目前尚存在不足的是NCL中curly vector图的绘制。...其余的图python基本都能够很容易的实现。更多示例,大家去官方网站看吧,这里就不多说了。...或通过如下命令创建示例脚本环境,直接上手: conda create -c conda-forge -c ncar -n geocat-examples python=3 geocat-comp geocat-datafiles...左为Python,右为NCL绘制 附: 官方提供的图片大小不一致,为了将Python和NCL的图片进行拼接,本文处理图片用到了ImageMagic的两个命令: •identify:获取图片的尺寸信息•convert

    1.9K10

    Python中的集合介绍

    集合set是一个无序的、不可重复的元素集合。...set1中移除元素5,如果元素不存在,不会引发错误 set1.remove(4) # 从集合set1中移除元素4,如果元素不存在,会引发KeyError 注意:remove如果移除的元素不存在,会报错...集合的其他操作 并集:使用 union() 方法或 | 运算符来获取两个集合的并集。 交集:使用 intersection() 方法或 & 运算符来获取两个集合的交集。...对称差集:使用 symmetric_difference() 方法或 ^ 运算符来获取两个集合的对称差集(即两个集合中不一致的元素)。...difference_set, set1 - set2) # 输出: {1} {1} print(symmetric_difference_set,set1 ^ set2) # 输出: {1, 4} {1, 4} 集合中怎么判断一个集合是否是另一个集合的子集

    17720

    python中的异常示例

    最常见的异常就是文件打开 时,找不到文件 try:     f = open(“file.txt”,”r”) except IOError, e:     print e 然后就是命名空间异常,也就是没有定义这个变量或对象...          print s[0] + s[1]           print s[0] - s[1]      except TypeError:           print "字符串不支持减法运算..." except:      print "异常" 文件的读写,可以用异常处理方式做的更完善 try:      f = open("hello.txt", "r")      try:           ..."读文件异常"      finally:           print "释放资源"           f.close() except IOError:      print "文件不存在" python...中的常用异常如下: AssertionError AttributeError IOError ImportError IndentationError IndexError KeyError

    48030

    python中的集合(Set)

    python中的集合(Set) 在Python中,集合(Set)是一种无序、无重复元素的数据结构。集合通过花括号 {} 或者使用 set() 函数进行创建。...与其他容器类型(如列表和字典)不同,集合中的元素是不可变的(不可被修改),且没有固定的顺序。 特点: 集合中的元素是唯一的,不存在重复的元素。 集合是无序的,不能通过索引访问或修改元素。...集合中的元素必须是不可变的类型(如数字、字符串、元组),不能包含可变对象(如列表、字典)。...以下是几个示例: empty_set = set() # 创建空集合 fruits = {'apple', 'banana', 'orange'} # 创建含有字符串的集合 mixed = {1...数学运算:可以对集合进行并集、交集、差集等数学运算。 存储唯一元素:在需要存储唯一值而不关心顺序的情况下,集合是一个很好的选择。 以上是关于Python中集合的详细讲解。

    8710

    python中创建集合的语句_Python 集合(set) 介绍

    参考链接: Python 集合set intersection_update() 集合 set  集合是可变的容器  集合内的数据对象都是唯一的(不能重复多次的)  集合是无序的存储结构,集合中的数据没有先后关系...}  集合的构造函数:set  set() #创建一个空的集合对象(不能用{}来创建空集合)  set(iterable) #用可迭代对象创建一个新的集合对角  # 示例:  s = set()  s...#从集合中删除一个元素,如果元素不存在于集合中,则会产生一个KeyError错误  S.discard(e)         #从集合S中移除一个元素e,在元素e不存在时什么都不做;  S.clear(... 集合推导式是用可迭代对象创建集合的表达式  #语法:#{表达式 for 变量 in 可迭代对象 [if 真值表达式]}#示例:#s = {x**2 for x in range(1,10)}#集合推导式可以嵌套...=#in / not in#(以上运算规则等用于set中的规则)  固定集合的方法:  相当于集合的全部方法去掉修改集合的方法  python基础总结  阶段总结  #数据类型:#不可变类型:#数字:bool

    1.8K30

    【Groovy】集合遍历 ( 使用集合的 findAll 方法查找集合中符合匹配条件的所有元素 | 代码示例 )

    3、闭包中使用 true 作为 findAll 方法的查找匹配条件 二、完整代码示例 一、使用集合的 findAll 方法查找集合中符合匹配条件的所有元素 ---- 在上一篇博客 【Groovy】集合遍历...( 使用集合的 find 方法查找集合元素 | 闭包中使用 == 作为查找匹配条件 | 闭包中使用 is 作为查找匹配条件 | 闭包使用 true 作为条件 | 代码示例 ) 中 , 介绍了使用 find...方法 , 获取集合中第一个符合 闭包匹配条件的元素 ; 使用集合的 findAll 方法 , 可以 获取 集合 中 所有 符合 闭包匹配条件的元素 , 这些元素将使用一个新的集合盛放 , findAll...在集合的 findAll 方法中 , 闭包中使用 is 作为查找匹配条件 , 查找集合中与 “3” 对象相同地址的元素 , 此处的 is 方法等价于调用 String 的 == 运算 , 不是比较值...在集合的 findAll 方法中 , 闭包中使用 true 作为查找匹配条件 , 查找集合中不为空的元素 , 此处返回第一个不为空的元素 ; 代码示例 : // III.

    2.5K30

    Python中的字典与集合

    今天我们来讲一讲python中的字典与集合 Dictionary:字典     Set:集合 字典的语法: Dictionary字典(键值对) 语法: dictionary = {key:value,...同时在字典中也对应着相应的值, 不过如果下标在集合中相对应的没有值,那么就会出现报错:索引越界)  输出索引为0的对应值 print(stus[0]) 输出结果如下: 巩祎鹏 同时集合也有类似于字符串的切边...输出结果如下 大马猴 李宁风 张倩 王佳明 巩祎鹏 删除元素 del stus[0] print(stus[0:5]) 输出结果如下 ['王佳明', '张倩', '李宁风', '大马猴'] 值得注意的是集合中的元素被删除后...》 《第二章python开发环境与开发教程》 《第三章python函数的基本定义和调用以及内置函数》 《第四章python中类的声明,使用,属性,实例属性,计算属性及继承,重写》 《第五章python中字符串...String的基本内置函数与过滤字符串模块函数的基本用法》 《第六章python中的字典与集合》 我觉得讲的也差不多了,python基础也就这么多了.后续都是爬虫,人工智能,与大数据的一些相关的问题了,

    1.7K30

    python中的字典与集合

    今天我们继续聊聊 python 中的另外两个数据类型字典和集合。 字典 首先字典是可变类型,和列表一样也是储存多种类型的数据。但它是无序的所以不可用下标去访问,通常我们会以「健值对」的方式去表示。...其次它也是无序的。但是它没有「健」。 通常集合表示如下: {ele1,ele2,...,elen} 看上去它又和列表相似,但是列表是有序的可以通过下标访问,但集合不可以而且元素不可重复。...') set2 = set([1,2,3,4,5]) print(set1) #{'c', 'd', 'b', 'a'} print(set2) #{1, 2, 3, 4, 5} 由此可见我们可以利用集合去重数据是非常好用的...访问元素 首先集合没有「健」所以无法通过这个访问,其次集合是无序的又无法通过下标访问。怎么办?所以要想访问集合的值,就必须使用循环结构,把值逐一读取出来。...set1 = {'java', 'javascript', 'python'} for item in set1: print(item) # javascript # python # java

    1.5K20

    【Groovy】集合遍历 ( 操作符重载 | 集合中的 “ + “ 操作符重载 | 集合中的 “ - “ 操作符重载 | 代码示例 )

    文章目录 一、集合中的 " + " 操作符重载 二、集合中的 " - " 操作符重载 三、完整代码示例 一、集合中的 " + " 操作符重载 ---- 对集合使用 " + " 运算符 , 其作用相当于...; 第二个参数是 T right , 这是集合中 要添加的元素 , " + " 运算符右侧的元素 ; plus 方法的 返回值是一个新的集合 , 原集合不发生改变 , 新集合中 , 会在原集合的基础上...第一个参数是 List self , 这是 原集合 , " - " 运算符左侧的元素 ; 第二个参数是 Object removeMe , 这是集合中 要删除的元素 , " - " 运算符右侧的元素...; minus 方法的 返回值是一个新的集合 , 原集合不发生改变 , 新集合中 , 会在原集合的基础上 , 删除了 " - " 操作符后面的元素 ; 集合的 minus 方法原型 : /**...* @param removeMe 从集合中要删除的元素 * @return 返回一个新集合 , 该集合中的指定元素已经被删除了 * @since 1.0 */

    1.2K20

    【Groovy】集合遍历 ( 调用集合的 any 函数判定集合中是否有指定匹配规则的元素 | 代码示例 )

    文章目录 一、集合的 any 函数 二、集合的 any 函数代码示例 一、集合的 any 函数 ---- 集合的 any 函数 , 用于判断集合中是否有 满足闭包中的条件 的元素 , 返回一个布尔值 ,...true 或者 false ; 传入的闭包参数中 , it 表示当前正在判断的 集合元素值 , 在 def list = ["Java", "Kotlin", "Groovy", "Gradle"]...集合中 , it 的类型是集合元素类型 String ; 如果找到了 匹配闭包中的条件 的元素 , 则返回true ; 否则 , 返回 false ; 集合中的 any 函数运行 : /**...any 函数代码示例 ---- 代码示例 : class Test { static void main(args) { // 为 ArrayList 设置初始值...def list = ["Java", "Kotlin", "Groovy", "Gradle"] // 查找集合中是否有 "Java" 元素 def isMatch

    1.3K20

    【Python】集合 set ② ( 集合常用操作 | 集合中添加元素 | 集合中移除元素 | 集合中随机取出元素 )

    在 Python 中 , 集合 set 是无序的 , 因此 集合 数据容器 不支持 使用 下标索引 访问 集合元素 ; 一、集合中添加元素 调用 集合#add(新元素) 函数 , 可以将新元素添加到 集合...数据容器中 ; 集合添加元素代码示例 : 原集合中有两个 Tom 字符串 , 只保留后面的 Tom 字符串 ; 添加元素时 , 添加 Trump 元素 , 原集合中没有该元素 , 添加成功 ; 有添加...Tom 元素 , 此时原集合中存在该元素 , 本次添加 Tom 元素失败 ; """ 集合 代码示例 """ # 集合添加新元素 names = {"Tom", "Jerry", "Jack", "...调用 集合#remove(已有元素) 函数 , 可以将原来的元素从 集合 数据容器 中移除 ; 移除 集合 数据容器中的 元素时 , 先确定 集合 中存在该元素 , 如果移除不存在的元素 , 会报如下异常...调用 集合#pop() 函数 , 可以 从 集合 数据容器 中 随机取出一个元素 ; 集合中不支持使用 下标索引 访问元素 , 因此只能随机取出一个元素 ; 代码示例 : 使用 name 变量接收取出的元素

    26140

    Python中关于集合(set)的思考

    虽然python或者说集合这个东西很基础甚至很简单,但我还是想在这里白话白话自己的一个过程。         集合这个东西最早我是在数学里听到的,集合之间可以做一些运算,比如求交集,并集,归属等等。...而集合在数学中算是一种散列的数据结构,通俗点来说就是无序的。...既然集合是无序的,并且可以做一些集合运算,那这样其实就有很大的用途了,比如说可以比较两个集合的差异,求差集,交集,并集(其实跟没说一样,这不就是集合本身的特性么)。...接下来就讲一下使用python的set集合的属性来对比文件差异,效果如下: sh-4.1# mydiff Please input two argvs....懂linux的人都知道diff工具也可以对比文件的差异,但其实还是有差异的,另外我只是针对python中的set实践一下想法,请不要耻笑我。。。。 源码部分(代码比较粗糙,不喜勿喷啊): #!

    91750
    领券