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

python学习总结

比如Python中就有一些高级数据结构,列表和字典就是内建于语言本身可以直接使用,在核心语言中提供这些重要构建单元,可以缩短开发时间和代码量,产生可读性更好代码。...Python基础 数据类型 python数据类型可以分为:字符串、布尔类型、整数、浮点数、数字、列表、元组、字典和日期。...Dict是不可变对象,因为使用key来计算value存储位置,为了保证结果正确性,作为key对象不能变,可使用字符串、整数等不可变对象作为dictkey。...结合Set set和dict类似,也是一组key集合,但是不同是在set没有重复key。...迭代器中有两个基本方法: next方法:返回迭代器一个元素 __iter__方法:返回迭代器对象本身。 生成器 带有yield函数在Python中被称为生成器

1K50

Python 容器使用 5 个技巧和 2 个误区

在 Python ,有四类最常见内建容器类型: 列表(list)、 元组(tuple)、 字典(dict)、 集合(set)。通过单独或是组合使用它们,可以高效完成很多事情。...`"""接收一个过去时间,返回距离当前时间相对时间文字描述` 6. `"""` 7. `now = time.time()` 8....边界提炼规律是优化这段代码关键。如果我们将所有的这些边界放在一个有序元组,然后配合二分查找模块 bisect。整个函数控制流就能被大大简化: 1....`"""接收一个过去时间,返回距离当前时间相对时间文字描述` 18. `"""` 19. `seconds_delta = int(time.time() - ts)` 20....使用它配合生成器表达式,可以高效实现“列表查找第一个满足条件成员”之类需求。 1.

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

【转载】Python自省

访问对象数据  当你对一个你构造对象使用dir()时,可能会发现列表很多属性并不是你定义。这些属性一般保存了对象数据,比如类__name__属性保存了类名。...next|close|send|throw: 这是几个可调用方法,并不包含元数据信息,如何使用可以查看生成器相关文档。 ...栈(frame)  栈表示程序运行时函数调用栈某一。函数没有属性可以获取它,因为它在函数调用时才会产生,而生成器则是由函数调用返回,所以有属性指向栈。...如果是2.6以上版本,将返回一个命名元组(Named Tuple),即除了索引外还可以使用属性名访问元组元素。  ...如果是2.6以上版本,将返回一个命名元组(Named Tuple),即除了索引外还可以使用属性名访问元组元素。

60820

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

一看到“容器”,大家想到多是那头蓝色小鲸鱼:Docker,但这篇文章和它没有任何关系。本文里容器,是 Python 一个抽象概念,是对专门用来装其他对象数据类型统称。...在 Python ,有四类最常见内建容器类型:列表(list)、元组(tuple)、字典(dict)、集合(set)。通过单独或是组合使用它们,可以高效完成很多事情。...就像下面这样: import time def from_now(ts): """接收一个过去时间,返回距离当前时间相对时间文字描述 """ now = time.time...边界提炼规律是优化这段代码关键。如果我们将所有的这些边界放在一个有序元组,然后配合二分查找模块 bisect。...使用它配合生成器表达式,可以高效实现“列表查找第一个满足条件成员”之类需求。

76120

【总结】最全面的Python面试知识!

__iter__方法 使用生成器表达式或者yield生成器函数(生成器是一种特殊迭代器) 什么是协程 比线程更轻量多任务方式 实现方式 yield async-awiat dict 底层结构 为了支持快速查找使用了哈希表作为底层结构...extends(),所以可以增加元组),+会创建新对象 #不可变对象没有__iadd__方法,所以直接使用是__add__方法,因此元祖可以使用+=进行元祖之间相加 如何一个可迭代对象每个元素变成一个字典所有键...)和枚举类似,但只可以添加64个值) 如果MySQL估计使用全表扫描要比使用索引快,则不使用索引 什么是聚集索引 B+Tree叶子节点保存数据还是指针 MyISAM索引数据分离,使用非聚集 InnoDB...数据文件就是索引文件,主键索引就是聚集索引 Redis 命令总结 为什么这么快?...基于内存,由 C 语言编写 使用多路I/O复用模型,非阻塞 IO 使用单线程减少线程间切换 数据结构简单 自己构建了 VM 机制,减少调用系统函数时间 优势 性能高 – Redis 能读速度是110000

50320

最全面的Python重点知识汇总,建议收藏!

使用生成器表达式或者yield生成器函数(生成器是一种特殊迭代器) 什么是协程 yield async-awiat 比线程更轻量多任务方式 实现方式 dict底层结构 为了支持快速查找使用了哈希表作为底层结构...extends(),所以可以增加元组),+会创建新对象 #不可变对象没有__iadd__方法,所以直接使用是__add__方法,因此元祖可以使用+=进行元祖之间相加 如何一个可迭代对象每个元素变成一个字典所有键...(enum)可以添加null,并且默认值会自动过滤空格集合(set)和枚举类似,但只可以添加64个值) 如果MySQL估计使用全表扫描要比使用索引快,则不使用索引 什么是聚集索引 B+Tree叶子节点保存数据还是指针...MyISAM索引数据分离,使用非聚集 InnoDB数据文件就是索引文件,主键索引就是聚集索引 Redis命令总结 为什么这么快?...数据结构简单 自己构建了VM机制,减少调用系统函数时间 优势 性能高 – Redis能读速度是110000次/s,写速度是81000次/s 丰富数据类型 原子 – Redis所有操作都是原子性

1.1K30

最全面的Python重点知识汇总,建议收藏!

使用生成器表达式或者yield生成器函数(生成器是一种特殊迭代器) 什么是协程 yield async-awiat 比线程更轻量多任务方式 实现方式 dict底层结构 为了支持快速查找使用了哈希表作为底层结构...extends(),所以可以增加元组),+会创建新对象 #不可变对象没有__iadd__方法,所以直接使用是__add__方法,因此元祖可以使用+=进行元祖之间相加 如何一个可迭代对象每个元素变成一个字典所有键...(enum)可以添加null,并且默认值会自动过滤空格集合(set)和枚举类似,但只可以添加64个值) 如果MySQL估计使用全表扫描要比使用索引快,则不使用索引 什么是聚集索引 B+Tree叶子节点保存数据还是指针...MyISAM索引数据分离,使用非聚集 InnoDB数据文件就是索引文件,主键索引就是聚集索引 Redis命令总结 为什么这么快?...数据结构简单 自己构建了VM机制,减少调用系统函数时间 优势 性能高 – Redis能读速度是110000次/s,写速度是81000次/s 丰富数据类型 原子 – Redis所有操作都是原子性

93220

这大概是你见过最全面的 Python 重点了

使用生成器表达式或者yield生成器函数(生成器是一种特殊迭代器) 什么是协程 yield async-awiat 比线程更轻量多任务方式 实现方式 dict底层结构 为了支持快速查找使用了哈希表作为底层结构...extends(),所以可以增加元组),+会创建新对象 #不可变对象没有__iadd__方法,所以直接使用是__add__方法,因此元祖可以使用+=进行元祖之间相加 如何一个可迭代对象每个元素变成一个字典所有键...(enum)可以添加null,并且默认值会自动过滤空格集合(set)和枚举类似,但只可以添加64个值) 如果MySQL估计使用全表扫描要比使用索引快,则不使用索引 什么是聚集索引 B+Tree叶子节点保存数据还是指针...MyISAM索引数据分离,使用非聚集 InnoDB数据文件就是索引文件,主键索引就是聚集索引 Redis命令总结 为什么这么快?...数据结构简单 自己构建了VM机制,减少调用系统函数时间 优势 性能高 – Redis能读速度是110000次/s,写速度是81000次/s 丰富数据类型 原子 – Redis所有操作都是原子性

69420

你见过最全面的Python重点知识总结

__iter__方法 使用生成器表达式或者yield生成器函数(生成器是一种特殊迭代器) 什么是协程 比线程更轻量多任务方式 实现方式 yield async-awiat dict 底层结构 为了支持快速查找使用了哈希表作为底层结构...extends(),所以可以增加元组),+会创建新对象 #不可变对象没有__iadd__方法,所以直接使用是__add__方法,因此元祖可以使用+=进行元祖之间相加 如何一个可迭代对象每个元素变成一个字典所有键...)和枚举类似,但只可以添加64个值) 如果MySQL估计使用全表扫描要比使用索引快,则不使用索引 什么是聚集索引 B+Tree叶子节点保存数据还是指针 MyISAM索引数据分离,使用非聚集 InnoDB...数据文件就是索引文件,主键索引就是聚集索引 Redis 命令总结 为什么这么快?...基于内存,由 C 语言编写 使用多路I/O复用模型,非阻塞 IO 使用单线程减少线程间切换 数据结构简单 自己构建了 VM 机制,减少调用系统函数时间 优势 性能高 – Redis 能读速度是110000

65230

Python 工匠:容器门道

一看到“容器”,大家想到多是那头蓝色小鲸鱼:Docker,但这篇文章和它没有任何关系。本文里容器,是 Python 一个抽象概念,是对专门用来装其他对象数据类型统称。...在 Python ,有四类最常见内建容器类型: 列表(list)、 元组(tuple)、 字典(dict)、 集合(set)。通过单独或是组合使用它们,可以高效完成很多事情。...就像下面这样: import time def from_now(ts): """接收一个过去时间,返回距离当前时间相对时间文字描述 """ now = time.time...边界提炼规律是优化这段代码关键。如果我们将所有的这些边界放在一个有序元组,然后配合二分查找模块 bisect。...使用它配合生成器表达式,可以高效实现“列表查找第一个满足条件成员”之类需求。

72610

数据分析入门到“入坑“系列】利用Python学习数据分析-Python函数-2

生成器 能以一种一致方式对序列进行迭代(比如列表对象或文件行)是Python一个重要特点。...: .....: print(key) a b c 当你编写for key in some_dict时,Python解释器首先会尝试some_dict创建一个迭代器: In [182]:...4: 16} itertools模块 标准库itertools模块中有一组用于许多常见数据算法生成器。...错误和异常处理 优雅地处理Python错误和异常是构建健壮程序重要部分。在数据分析,许多函数函数只用于部分输入。...你可以用魔术命令%xmode,Plain(与Python标准解释器相同)到Verbose(带有函数参数值)控制文本显示数量。

59110

Python 工匠:容器门道

本文里容器,是 Python 一个抽象概念,是对专门用来装其他对象数据类型统称。...在 Python ,有四类最常见内建容器类型:列表(list)、元组(tuple)、字典(dict)、集合(set)。通过单独或是组合使用它们,可以高效完成很多事情。...就像下面这样:import timedef from_now(ts): """接收一个过去时间,返回距离当前时间相对时间文字描述 """ now = time.time()...边界提炼规律是优化这段代码关键。 如果我们将所有的这些边界放在一个有序元组,然后配合二分查找模块 bisect。...使用它配合生成器表达式,可以高效实现 “列表查找第一个满足条件成员” 之类需求。

49920

Python 升级之路(三) 序列

0x000001F1E4FBE280> e = list(d) print(e) 生成器推导式创建元组 # 生成器推导式创建元组 # 1.形式上看,生成器推导式与列表推导式类似,只是生成器推导式使用小括号...# 2.列表推导式直接生成列表对象,生成器推导式生成不是列表也不是元组,而是一个生成器对象 # 3.我们可以通过生成器对象,转化成列表或者元组。...# 删除并返回一个(键,值)对作为 2 元组。...集合和字典有什么关系 # 字典: #   由key和value组成,字典是有序(python3.7) #   字典是可变 #   字典支持索引操作 #   字典对应哈希表存储了哈希值、key和...value #   字典key不能重复 # # 集合: #   集合没有key和value配对,是无序,且元素值唯一 #   集合是可变 #   集合不支持索引/切片操作 #   集合对应哈希表仅存储了哈希值

1.2K50

Python 基础知识点归纳

列表是Python中最基本数据结构,同时也是最常用,列表每个元素都分配一个数字-它位置或索引,第一个索引是0,第二个索引是1,依此类推,,接下来我们将找出几个比较常用列表操作函数来进行演示...字典是另一种可变容器模型,且可存储任意类型对象,字典是使用键值对数据类型,字典每个键值(key=>value)用冒号作为分割符,而键值对与键值对之间则用逗号分割,整个字典都被包括在花括号,且字典还有两个特性...,第一个特性字典数据是无序存储,第二个特性字典key必须是唯一,所以Key天生去重,如下是字典几种格式声明: person = {"name": "lyshark", "age": 22}...() #返回所有的value为一个列表 dict.items() #将字典键值拆成元组,全部元组组成一个列表 dict.pop(key) #弹出某个key-value...print(keys,info[keys]) ... stu1 加藤鹰 stu2 波多野结衣 stu3 小泽玛利亚 索引字典: 字典也支持索引方式获取字典元素,只不过必须以key作为索引. >>>

1.4K10

Python 升级之路( Lv3 ) 序列

0x000001F1E4FBE280> e = list(d) print(e) 生成器推导式创建元组 # 生成器推导式创建元组 # 1.形式上看,生成器推导式与列表推导式类似,只是生成器推导式使用小括号...# 2.列表推导式直接生成列表对象,生成器推导式生成不是列表也不是元组,而是一个生成器对象 # 3.我们可以通过生成器对象,转化成列表或者元组。...# 删除并返回一个(键,值)对作为 2 元组。...集合和字典有什么关系 # 字典: #   由key和value组成,字典是有序(python3.7) #   字典是可变 #   字典支持索引操作 #   字典对应哈希表存储了哈希值、key和...value #   字典key不能重复 # # 集合: #   集合没有key和value配对,是无序,且元素值唯一 #   集合是可变 #   集合不支持索引/切片操作 #   集合对应哈希表仅存储了哈希值

2.9K20

深度剖析Python字典和集合

字典 Mapping和MutableMapping Mapping和MutableMapping是collections.abc模块两个抽象基类,它们作用是作为形式化文档,定义了构建一个映射类型所需要最基本接口...把这个新列表作为值,key作为键,放到my_dict。 返回这个列表引用。 通过列表引用继续执行append()函数。...举个例子,身份证号411697199702076425,如果把它作为键存储到数组,虽然能用O(1)时间就找到,但是需要开辟一个999999999999999999大空间。...假如只有1空间,就只能把最后一位作为键存储到数组,多个身份证号键就容易冲突,得多看n位才能找到,要用O(n)时间。...,当数据量很大时,不适合用dict和set,而应该考虑用元组或由具名元组构成列表。

1.6K00

【Python推导式秘籍】:一行代码艺术,高效数据处理之道

字典推导式让你能够以一种简洁、易读方式可迭代对象创建字典。其基本结构允许你快速地对数据进行转换或过滤,并形成键值对。...,每次循环 序列 取出一个元素; # 序列 是需要遍历对象,可以是列表、元组、字符串等可迭代对象; if 条件 是可选条件判断语句,用于对元素进行筛选。...# 将能够配对部分进行构建字典 ---- range(len(key_1)-num) dict1 = {key_1[i]: value[i] for i in range(len(key_1)...这种表达式非常适合于可迭代对象快速提取唯一值、执行条件过滤或转换数据,同时利用集合特性来自动去除重复项。 四、生成器推导式 1....特点总结: 内存效率:生成器推导式在内存不保存所有生成值,而是在每次迭代时生成下一个值,这对于大数据处理至关重要。 惰性求值:直到调用(如通过迭代或转换为列表等操作),生成器才开始计算。

6710
领券