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

Python数据类型(二)

大家好,在上一次推送,我们一起学习了Python数据结构整数int、浮点数float以及复数,今天我们一起来学习其他一些数据类型吧。...(3)逻辑值也有自己运算:and,or,not. (4)可以让计算机根据情况自动作出选择,更加聪明。 2.逻辑值 (1)逻辑值用来配合if/while等语句做条件判断。...如果经常需要判断元素是否在一组数据,这些数据次序不重要的话,推荐使用集合,可以获得比列表更好性能。 ?...五、字典dict 字典是通过键值key来索引元素value,而不是象列表是通过连续整数来索引。字典是可变类型,可以添 加、删除、替换元素。字典元素value没有顺序,可以是任意类型。...字典键值key须是不可变类型(数值/字符串/元组)。

1.5K10

图解pandas模块21个常用操作

1、Series序列 系列(Series)是能够保存任何类型数据(整数,字符串,浮点数,Python对象等)一维标记数组。轴标签统称为索引。 ?...3、从字典创建一个系列 字典(dict)可以作为输入传递,如果没有指定索引,则按排序顺序取得字典键以构造索引。如果传递了索引,索引与标签对应数据值将被拉出。 ?...4、序列数据访问 通过各种方式访问Series数据,系列数据可以使用类似于访问numpyndarray数据来访问。 ?...你可以把它想象成一个电子表格或SQL表,或者 Series 对象字典。它一般是最常用pandas对象。 ? ?...18、查找替换 pandas提供简单查找替换功能,如果要复杂查找替换,可以使用map(), apply()和applymap() ?

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

对象字典缓存(百万军中取敌首级)

缓存本质 Student.FindByID内使用了单对象缓存:Meta.SingleCache[id]; 单对象缓存本质就是并行字典,因此使用方式上只需要直接索引器查找即可。...即使目标表有千万级数据,单对象字典缓存仍然可以轻松取敌首级!^_^ 从键查询 前面实例展示了根据ID查找缓存对象,实际应用场景,还可能会根据名称进行查找,总不能另外搞一个对象缓存吧?...来自深圳海洋饼干,很有创意解决了这个问题,发明了从键缓存! ? 如上,Meta.SingleCache.GetItemWithSlaveKey(name) 实现了根据 name 查询用户。...使用从键缓存后,等于有两个入口(FindKey/FindSlaveKey)查询数据库,得到一个实体对象后,分别加入主键字典和从键字典,用于两个维度索引查询。...复杂条件,分页,自定义扩展FieldItem,查总记录数,查汇总统计 数据层缓存。Sql缓存,更新机制 实体缓存。全表整理缓存,更新机制 对象缓存。字典缓存,适用用户等数据较多场景。 百亿级性能。

1.2K10

【Python】从基础变量类型到各种容器(列表、字典、元组、集合、字符串)

变量 = [表达式 for 变量 in 可迭代对象] 变量 = [表达式 for 变量 in 可迭代对象 if 条件] # 列表推导式嵌套 变量 = [表达式 for 变量1 in 可迭代对象1 for...如果要使用推倒式类似的形式,我们可以用tuple转型,即 tuple( xxx for x in xxx),把生成器对象转型为元组。 ⭐️字典 由一系列 键值对 组成 可变 散列 容器。...# 创建字典 字典名 = {键1:值1,键2:值2} 字典名 = dict (可迭代对象) # 转换为字典格式要求:可迭代对象元素必须能够"一分为二"。...语句 # 删除元素: del 字典名[键] 注意:字典不能使用索引和切片操作。 因为字典根据哈希运算结果进行存储,是一种用空间换时间设计理念。...所以在索引时候相较于其他容器,字典是 最快。 列表适合储存单一维度数据,当我们要存储多维度数据时,我们可以使用字典

2.2K20

python数据科学系列:pandas入门详细教程

isin/notin,条件范围查询,即根据特定列值是否存在于指定列表返回相应结果 where,仍然是执行条件查询,但会返回全部结果,只是将不满足匹配条件结果赋值为NaN或其他指定值,可用于筛选或屏蔽值...get,由于series和dataframe均可以看做是类字典结构,所以也可使用字典get()方法,主要适用于不确定数据结构是否包含该标签时,与字典get方法完全一致 ?...,可通过axis参数设置是按行删除还是按列删除 替换,replace,非常强大功能,对series或dataframe每个元素执行按条件替换操作,还可开启正则表达式功能 2 数值计算 由于pandas...对象,功能与python普通map函数类似,即对给定序列每个值执行相同映射操作,不同是seriesmap接口映射方式既可以是一个函数,也可以是一个字典 ?...一般而言,分组目的是为了后续聚合统计,所有groupby函数一般不单独使用,而需要级联其他聚合函数共同完成特定需求,例如分组求和、分组求均值等。 ?

13.8K20

挑战30天学完Python:Day30 回顾总结

详细学习回顾请阅读:Day7数据类型-字典dict Day09 条件语句 第9天,默认情况下,Python脚本语句从上到下依次执行。...典型是列表和字典操作; 枚举:如果我们对列表索引感兴趣,我们使用 enumerate 内置函数来获取列表每一索引。 当然还有另外两个 Spread 和 zip 具体用法参考详细文章。...re.split: 方法按照能够匹配子串将字符串分割后返回列表。 re.sub: 查找并替换一个或者多个匹配。...文本还介绍了如何使用json模块将JSON字符串转换为字典(json.loads())以及将字典转换为JSON字符串(json.dumps())。...此外,还展示了如何将字典保存为JSON文件(json.dump())。 其他还简单演示了: 对于csv文件,文本演示了如何使用csv模块读取csv文件,并遍历行和列数据。

20320

18式优雅你Python

(Jupyter也可以加一个插件,开启vim模式,自由替换,见Python文学化编程 - Jupyter notebook使用和插件拓展)。 ?...6,对象方法嵌套 平凡方法:定义中间变量,不嵌套。 ? 优雅方法:使用对象方法嵌套,减少中间变量。 ?...(set和dict查询速度是O(1),很快,具体见为啥我Python这么慢 - 查找 (二)) ? 10,判断是否为空列表,空字典,空字符串 平凡方法:使用len函数判断长度是否大于0。 ?...12,判断诸多条件是否全部成立 平凡方法:使用and连接多次判断。 ? 优雅方法:使用all函数。 ? 四,优雅你循环语句 13,单行循环语句:推导式 平凡方法:使用普通for循环。 ?...18,使用装饰器给函数添加插入日志,性能测试等非核心功能 平凡方法:将插入日志,性能测试等非核心功能直接内嵌到函数定义。 ? 优雅方法:使用装饰器扩展函数非核心功能。

91420

用这10个小技巧加速Python编程

其他主流编程语言一样,Python支持基于0索引,在该索引,我们在一对方括号内使用零访问第一个元素。此外,我们还可以使用切片对象来检索序列特定元素,如下面的代码示例所示。...对于另一个实例,创建一个Enum类支持相同替代解决方案。 4.三元表达 在许多用例,我们需要根据条件定义具有特定值变量,并且我们可以简单地使用if ... else语句来检查条件。...具体而言,该all()函数将评估何时迭代元素全部为True,因此该函数适合于替换系列AND逻辑比较。...另一方面,该any()函数计算结果为True当迭代任何元素为True,因此适合替换系列OR逻辑运算。相关示例如下所示。...我们只需要指定一个整数(N),即可从列表找出最频繁N个项目。附带说明,该对象还将与其他序列数据一起使用,例如字符串和元组。

93920

数据分析之pandas模块

,当用字典时,字典key会成为行索引   1,索引和切片 用括号时,可以是显示索引,也可以是隐式索引 用句点符‘.’...4.2 还可以用drop(),drop系列函数,axis=1表示列,axis=0代表行,这和其他所有场景都是相反 ?   4.3 上面两种清洗方法都是删除整行或者,整列,有时是不允许这样子删除。...参数join:'outer'将所有的进行级联(忽略匹配和不匹配),'inner'只会把匹配进行级联。 ?   由于在以后级联使用很多,因此有一个函数append专门用于在后面添加。 ?   ...还可以使用drop_duplicates(),这也是drop系列函数。 ?   ...10.2 map()还可以跟自定义函数 ?   11,排序   使用take()函数排序,take接受一个索引列表,用数字表示,使得df会根据列表索引顺序进行排序 ?

1.1K20

SqlAlchemy 2.0 中文文档(二十一)

当将 Query 语句嵌套到子查询或其他可选择时,或者当使用Query.yield_per()时主要用于。...此处实体或可选择对象有效地替换了任何对 Query.join() 调用“左边缘”,当没有其他方式建立连接点时 - 通常,默认“连接点”是查询对象要选择实体列表中最左边实体。...提示文本将根据正在使用数据库后端在给定 Table 或 Alias 适当位置进行渲染。方言实现通常使用 Python 字符串替换语法,其中令牌 %(name)s 用于呈现表或别名名称。...主要用于将查询语句嵌套到子查询或其他可选择,或者使用Query.yield_per()时。 method except_(*q: Query) → Self 对一个或多个查询产生此查询差集。...此处实体或可选择对象有效地替换了任何对Query.join()调用“左边缘”,否则,当没有其他方式建立连接点时,通常默认“连接点”是Query对象实体列表最左边实体。

23610

因为if-else,而被罚款了1000!!

“ 本文并不肯定或者否定哪一种写法,仅仅为大家提供一些其他编码思路或者一些值得借鉴点子。 ? 图片来自 Pexels ?...将 If-Else 转换为字典,完全避免 If-Else 假设您需要执行一些操作,这些操作将根据某些条件进行选择,我们知道以后必须添加更多操作。 ? 也许有人倾向于使用久经考验 If-Else。...注意,仅出于说明目的将字典放置在方法内部。您可能希望从其他地方提供它。 扩展应用程序,完全避免使用 If-Else 这是一个稍微高级示例。通过用对象替换它们,知道何时甚至完全消除 If。...在此阶段使用 If-Else 并不是什么大问题,如果我们可以轻松替换其他,只要如前所述即可。 ? 知道我们需要扩展应用程序这一部分,这种方法绝对是不可接受。...正确方法是遵循 SOLID 原则方法,我们通过实施动态类型发现过程(在本例为策略模式)来做到这一点。 重构这个混乱过程过程如下: 使用公共接口将每个分支提取到单独策略类

54710

SQL系列总结(一):DDL(数据定义语言)

大部分数据库系统能支持SQL/92标准大部分功能以及SQL99、SQL2003部分新概念。同时许多软件厂商对SQL基本命令集还进行了不同程度扩充和修改,又可以支持标准以外功能特性。...关系型数据库在执行SQL数据定义语句时,实际上就是更新数据库字典相应信息。 进行查询优化和查询处理时,数据字典信息是其重要依据。 本篇只涉及到DDL,即数据定义语言。...]; RESTRICT与CASCADE区别: RESTRICT指限制删除,表示该表删除是有限制条件:即该表不能被其他约束所引用(如CHECK,FOREIGN KEY等约束),不能存在依赖于该表对象...只有当这些限制条件不存在时,才能允许删除。 CASCADE指级联删除,加上此参数之后则该表删除没有限制条件。在删除基本表同时,相关对象,例如视图等,都将被一起删除。...这些都会增加数据库负担,因此要根据实际应用需要有选择地创建索引。 索引类型 目前SQL标准没有涉及索引,但商用关系数据库系统一般都会支持索引机制,且不同数据库支持索引类型不尽相同。

43820

iOS开发之多种Cell高度自适应实现方案UI流畅度分析

本篇博客主题是关于UI操作流畅度优化一篇博客,我们以TableView填充多个根据内容自适应高度Cell来作为本篇博客使用场景。...我们将已经初始化过图片进行缓存,等下次再使用该图片时直接从缓存读取,从而节省了在主线程创建对象和销毁对象时间,从而可以提高UI流畅度。...本篇博客所实现Memory缓存就比较简单了,就使用了一个字典字典Key是图片名称,字典Value是已经创建字典对象。代码比较简单,下方是核心代码。...大体原理就是在获取时,如果缓存字典没有相应对象就进行创建并加入缓存,然后返回该对象。如果缓存已经有该对象,则直接返回。核心代码如下。 ?...这样Cell就可以根据可变文字高度来自适应了。当然该方法在iOS8以上系统上才可以使用。 ? 经过上述这两步,我们Cell就可以进行自适应了,下方是该解决方案所对应运行效果。

1.5K70

Python指南:组合数据类型

1.1 元组 元组是个有序序列,包含0个或多个对象引用,使用小括号包裹。元组是固定,不能替换或删除其中包含任意数据。...,列表是可变,因此我们可以对列表进行删除或替换,插入、替换或删除列表分片也是可能。...,并且可以使用条件过滤掉不需要数据,可以使用表达式,也可以使用附加条件。...2.1.1 集合创建 使用set()创建一个集合: 不指定参数时,返回一个空集合 使用set作为参数时,返回该参数浅拷贝 其他参数时,尝试将给定对象转换为集合 集合包含每个数据都是独一无二...,返回该参数浅拷贝 键值对组合参数,创建非空字典 字典键值是独一无二,因此,如果向字典添加一个已存在键值,实际效果是新值替换旧值。

2.6K10

生物信息Python从入门到精通

编者注:本文来自生信编程直播课程讲师投稿,点击阅读原文可以跳转到大神博客,欢迎点击! 以下为文章全文: Python开发方向太多了,有机器学习,数据挖掘,网络开发,爬虫等等。...二、基本知识点 1.基本语法 缩进:Python是通过代码缩进来决定代码层次逻辑,一般约定使用4个空格 版本问题:主要包括2.x系列和3.x系列,两者语法不同且不兼容,有的模块只能在指定版本下安装.../usr/bin/env python#-*- coding: utf-8 –*- 变量定义:使用前要先定义 dir():列出一个数据类型或对象所有方法,非常好用,同help() 文件操作:f = open...数据结构就是一种容器,用于在内存存放我们数据。 列表:任意元素组成顺序序列,以位置为索引。...五、最后 Python只是一门编程语言,一种实现工具,我们可以用很多种语言来替换它,我们之所以选择Python,是因为我们喜欢它给我们带来便捷。

2.4K140

Redis系列(九)底层数据结构之五种基础数据类型实现

总结 编码 使用条件 quicklist 所有数据 集合对象 涉及到数据结构:intset, dict(hashtable), 强烈建议阅读本系列第五,第六篇文章。...总结 编码 使用条件 intset 所有元素都是整数且元素个数小于 512 hashtable 其他数据 有序集合对象 涉及到数据结构,压缩列表, 跳跃表, 字典, 强烈建议阅读本系列 第三篇,第六篇...总结 编码 使用条件 ziplist 元素数量少于 128 且 所有元素成员长度小于 64 字节 skiplist 不满足上述条件其他情况 散列对象 涉及到数据结构,压缩列表, 字典, 强烈建议阅读本系列...就颇为相似,因此哈希对象每一个键值对都是字典一个键值对。...总结 编码 使用条件 ziplist 键值对键和值长度都小于 64 字节,且 键值对个数小于 512. hastable 不满足上述条件其他条件 全文总结 其实在前面的几篇文章写完之后,也就是在所有的底层数据结构介绍完之后

98520

Python工匠:解析容器类型门道

一看到“容器”,大家想到多是那头蓝色小鲸鱼:Docker,但这篇文章和它没有任何关系。本文里容器,是 Python 一个抽象概念,是对专门用来装其他对象数据类型统称。...使用 next() 函数 5. 使用有序字典来去重 常见误区 1. 当心那些已经枯竭迭代器 2. 别在循环体内修改被迭代对象 总结 系列其他文章 注解 当我们谈论容器时,我们在谈些什么?...举个例子,在 Python 2 ,如果我们合并两个字典,需要这么做: def merge_dict(d1, d2): # 因为字典是可被修改对象,为了避免修改原对象,此处需要复制一个 d1...使用它配合生成器表达式,可以高效实现“从列表查找第一个满足条件成员”之类需求。...系列其他文章 所有文章索引 [Github]:http://t.cn/E5vETxs Python 工匠:善用变量改善代码质量:http://t.cn/E5vnArj Python 工匠:编写条件分支代码技巧

76820

学好Elasticsearch系列-分词器

在Elasticsearch,分词器是用于将文本数据划分为一系列单词(或称之为词、tokens)组件。这个过程是全文搜索关键步骤。...分词器(Tokenizer):它将经过字符过滤器处理后文本进行切分,生成一系列。例如,标准分词器会按照空格将文本切分成词。 词过滤器(Token Filters):它对词进行进一步处理。...最后,在 mappings 对象,我们指定 "my_field" 字段要使用这个自定义分析器。...Mapping Character Filter:通过一个预定义映射关系,将指定字符或字符串替换其他字符或字符串。例如,你可以定义一个规则将 "&" 替换为 "and"。...例如,假设你需要在索引或搜索时删除所有的数字,可以使用 Pattern Replace Character Filter,并设置一个匹配所有数字正则表达式 [0-9],然后将其替换为空字符串或其他所需字符

43520

学好Elasticsearch系列-分词器

在Elasticsearch,分词器是用于将文本数据划分为一系列单词(或称之为词、tokens)组件。这个过程是全文搜索关键步骤。...分词器(Tokenizer):它将经过字符过滤器处理后文本进行切分,生成一系列。例如,标准分词器会按照空格将文本切分成词。 词过滤器(Token Filters):它对词进行进一步处理。...最后,在 mappings 对象,我们指定 "my_field" 字段要使用这个自定义分析器。...Mapping Character Filter:通过一个预定义映射关系,将指定字符或字符串替换其他字符或字符串。例如,你可以定义一个规则将 "&" 替换为 "and"。...例如,假设你需要在索引或搜索时删除所有的数字,可以使用 Pattern Replace Character Filter,并设置一个匹配所有数字正则表达式 [0-9],然后将其替换为空字符串或其他所需字符

28520
领券