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

《Python Cookbook》读书笔记(一)

------山河已无恙」 ---- 第一章 数据结构算法 Python内置了许多非常有用数据结构,比如列表(list)、集合(set)以及字典(dictionary)、元组(tuple)。...在collections模块中也包含了针对各种数据结构解决方案。 将序列分解为单独变量 「我们有一个包含N个元素元组或序列,现在想将它分解为N个单独变量。」...从队列两端添加或弹出元素复杂度都是O(1)。这列表不同,当从列表头部插入或移除元素时,列表复杂度为O(N) 找到最大或最小N个元素 「我们想在某个集合中找出最大或最小N个元素。」...该方法会将第一个元素(最小)弹出,然后以第二小元素取而代之(这个操作复杂度是O(logN),N代表堆大小) 想找到最小或最大元素(N=1时),那么用min()max)会更加快。...没有哪两个元组会有相同index值(一旦比较操作结果可以确定,Python就不会再去比较剩下元组元素了) 如果想将这个队列用于线程间通信,还需要增加适当信号机制 在字典中将键映射到多个值上

58620

计算机二级Python公共基础部分

根据数据结构中各数据元素之间前后件关系复杂程度,一般将数据结构分为两大类型:线性结构非线性结构。...二叉树性质 ··· ··· 完全二叉树满二叉树 二叉树储存结构 与线性链表类似,用于存储二叉树中各元素存储结点也两部分组成:数据域指针域。...结构化分析方法实质:着眼于数据流,自顶向下,逐层分解,建立系统处理流程,以数据流图、数据字典判定树为主要工具,建立系统逻辑模型。...(方框) 数据字典 对所有与系统相关数据元素一个有组织列表,以及精确、严格定义,使得用户系统分析员对于输入、输出、存储成分中间计算结果有共同理解。...4.3 关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论 关系代数 1、关系数据结构 关系是若干个不同元组组成,因此关系可视为元组集合。

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

Simple is better than complex——python中4大数据结构常用接口简介

具体到python中数据结构选择运用,虽然有很多类型可供选择:除了基本列表字典、集合元组4个基本类型外,collections模块中提供了很多定制化数据结构,还有专用堆heapq枚举enum...本篇文章主要面向python初学者,介绍列表字典、集合元组4个基本数据结构常用接口用法,最后通过一道LeetCode原题讲解了数据结构综合运用。...02 字典 列表之外,字典可能是python中用也比较多数据结构了,由于字典底层应用哈希映射,所以要求字典所有key必须是不可变元素(可哈希对象),增删改查操作一般都能实现O(1)复杂度,是低复杂必备数据结构...#tuple 6# 多元素元组初始化时可省略小括号 7t = '2', 1, True 8type(t) #tuple 另外,考虑元组不可变特性,所以元组也常用于以多个元素作为key字典存储,而这是列表集合等可变类型所不具备...),所以列表复杂度难以满足要求,字典集合都可以,这里选用集合,因为集合discard接口可很好处理元素不存在时删除操作。

81610

2.0 Python 数据结构与类型

rows_data[row["date"]].append(row)>>> print(rows_data)2.5 元组类型元组是一种不可变有序数据结构多个元素组成,每个元素可以是不同数据类型,...元组可以作为函数参数返回值,也可以与列表等数据类型进行相互转换。与列表不同,元组元素是不可变,这使得元组在某些场景下比列表更加安全高效。...print(*args)1 2 34 5 62.6 集合类型集合是一种无序、不重复数据结构。集合中元素必须是可哈希,因此支持数字、字符串、元组等不可变类型,不支持列表字典等可变类型。...其中字符串是字符组成不可变序列,列表元组都是任意python对象组成序列。...列表支持插入、删除替换元素等操作,而元组是不可变序列,对元素操作是不支持,但是可以嵌套包含列表字典等可变对象进行操作。所有序列类型都支持迭代操作,可以通过for循环遍历序列中每一个元素

46860

2.0 Python 数据结构与类型

rows_data[row["date"]].append(row) >>> print(rows_data) 2.5 元组类型 元组是一种不可变有序数据结构多个元素组成,每个元素可以是不同数据类型...元组可以作为函数参数返回值,也可以与列表等数据类型进行相互转换。与列表不同,元组元素是不可变,这使得元组在某些场景下比列表更加安全高效。...","3"}) >>> s {'H', '1', 'y', 'p', '2', 'e', '3'} 2.7 序列类型 序列类型是指索引为非负整数有序对象集合组成数据类型,包括字符串、列表元组。...其中字符串是字符组成不可变序列,列表元组都是任意python对象组成序列。...列表支持插入、删除替换元素等操作,而元组是不可变序列,对元素操作是不支持,但是可以嵌套包含列表字典等可变对象进行操作。所有序列类型都支持迭代操作,可以通过for循环遍历序列中每一个元素

32530

python数据分析所需要了解结构基础

字典特点 字典特点包括: 字典键必须是唯一; 键必须是不可变,例如字符串、数字或元组,但不能是列表等可变类型; 字典元素没有顺序,不像列表有索引。...另外,可以使用 len() 函数来获取字典中键值对数量。 总结来说,字典是一种非常实用数据结构,可以用来存储访问各种类型数据。通过键值对形式,可以方便地进行增加、删除修改操作。...在实际编程中,字典经常被用作存储配置信息、处理文件网络数据等场景中数据结构。 三、元组 元组列表相似,列表大部分方法在元组上也可以使用,只是元组是不可以修改。...由于其不可变性质,元组常用于存储不可修改数据集合。 四、字符串 字符串介绍 Python中字符串是一种数据类型,用于存储文本数据。字符串是一系列字符组成,可以包含字母、数字、符号等。...函数一般函数名、参数、函数体、返回值组成,其中函数名函数体是必须

4610

python 存储字典_python 字典存储

参考链接: Python字典dictionary copy方法 Python学习笔记——元组列表字典使用笔记  Python学习笔记——元组列表字典使用笔记  最近开始学习python语言,...查找速度非常快,一个元素10W个元素没有什么区别。  字典无序特性创建:  列表是有序对象结合,字典是无序对象集合。  字典当中元素是通过键来存取,每个键值(key=>val...  ...字典对应值成对组成字典也被称作关联数组或哈希表。...文章  bysocket  2016-04-28  1228浏览量  Python学习(5)--列表  Python学习(5)--列表  1.列表  列表上一节所说元组一样,都可以盛放不同数据类型元素....定义列表与定义元组不同,只是列表元素用方括号括起来.下面将会比较元组列表不同之处,来学习列表

2.7K30

通过一篇文章让你稳过计算机二级(C语言)

接下来,考生需要重点掌握函数使用。函数是C语言中实现模块化编程关键,通过函数可以将复杂问题分解为若干个简单子问题,提高代码可读性可维护性。...1.2.2线性结构非线性结构 根据数据结构中各数据元素之间前后件关系复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。...测试用例就是为测试设计数据,测试输入数据预期输出结果两部份组成。测试用例设计方法一般分为两类:黑盒测试方法白盒测试方法。 3.5.2.1.2黑盒测试白盒测试 白盒测试。...4.4 数据模型基本概念 数据模型从抽象层次上描述了数据库系统静态特征、动态行为和约束条件,因此数据模型通常数据结构、数据操作及数据约束三部分组成。...关系代数扩充运算 4.7.2.1交 假设有 n 元关系 R n 元关系 S,它们交仍然是一个 n 元关系,它属于关系 R 且属于关系 S 元组组成,并记为 R∩S,它可由基本运算推导而得:

6510

通过一篇文章让你完全掌握计算机二级C语言知识点

接下来,考生需要重点掌握函数使用。函数是C语言中实现模块化编程关键,通过函数可以将复杂问题分解为若干个简单子问题,提高代码可读性可维护性。...1.2.2线性结构非线性结构 根据数据结构中各数据元素之间前后件关系复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。...测试用例就是为测试设计数据,测试输入数据预期输出结果两部份组成。测试用例设计方法一般分为两类:黑盒测试方法白盒测试方法。 3.5.2.1.2黑盒测试白盒测试 白盒测试。...4.4 数据模型基本概念 数据模型从抽象层次上描述了数据库系统静态特征、动态行为和约束条件,因此数据模型通常数据结构、数据操作及数据约束三部分组成。...关系代数扩充运算 4.7.2.1交 假设有 n 元关系 R n 元关系 S,它们交仍然是一个 n 元关系,它属于关系 R 且属于关系 S 元组组成,并记为 R∩S,它可由基本运算推导而得:

6310

python数据分析——Python语言基础(数据结构基础)

Python语言基础——数据结构基础 前言 数据结构是计算机科学中一种基本概念,其目的是确定数据元素之间关系,实现数据组织、存储管理。...值得注意是,python字典是一个特殊通信录,因为它不允许里面有两个人名字是相同。 python字典”键“”值“构成,其中”键“表示查找依据,而”值“表示查找结果。...python字典语法为: {key1:value1,key2:value2……} 元组 元组列表相似,列表大部分方法在元组上也可以使用,只是元组是不可以修改。...元组 大体上列表差不多 但是元组是不可以修改 字符串 字符串是一类特殊字符集合,单个或者多个字符组合而成,其长度可以pythonlen方法获取。...函数一般函数名、参数、函数体、返回值组成,其中函数名函数体是必须。 函数可以没有参数,也可以有一个或多个参数。 类 类是面向对象一个核心要素。

14710

与机器学习算法相关数据结构

这是一个O(n)操作,其中n是数组大小,但由于它只是偶尔发生,所以将一个新值添加到末尾时间实际上会被分解为常数时间O(1)。它是一个非常灵活数据结构,具有快速平均插入快速访问。...链表 链表几个单独分配节点组成。每个节点都包含一个数据值以及指向列表中下一个节点指针。插入在固定时间非常有效,但访问值很慢并且通常需要扫描大部分列表。 链接列表很容易拼接在一起以及分开。...通常,顶部最高排序值是从堆中提取,以便对列表进行排序。与树不同,大多数堆只是存储在数组中,元素之间关系仅是隐式。 堆叠 堆栈被定义为“先进后出”,一个元素被推到堆栈顶部,覆盖前一个元素。...队列在实时编程中非常有用,因此程序可以维护要处理作业列表。集合非重复元素无序列表组成。如果您添加了一个已经在集合中元素,则不会有任何更改。...更复杂数据结构也可以基本结构组成。考虑一个稀疏矩阵类。在稀疏矩阵中,大多数元素为零,并且仅存储非零元素。我们可以将每个元素位置值存储为三元组,并在可扩展数组中包含它们列表

2.4K30

图解python | 数据结构

1.Python列表 Python中列表是可变,这是它区别于字符串元组最重要特点,一句话概括即:列表可以修改,而字符串元组不能。...返回结果是一个根据表达从其后 for if 上下文环境中生成出来列表。如果希望表达式推导出一个元组,就必须使用括号。...[Python3数据结构 | 元组(Tuple)] 元组若干逗号分隔组成,例如: t = 12345, 54321, 'hello!'...8.集合 [Python3数据结构 | 集合(Set)] 集合是一个无序不重复元素集。基本功能包括关系测试消除重复元素。 可以用大括号({})创建集合。...9.字典 [Python3数据结构 | 字典(Dictionary)] 另一个非常有用 Python 内建数据类型是字典

63341

Python 内置数据结构

Python 内置数据结构 Python 内置了强大数据结构,比如列表元组字典,让 Python 开发者处理数据时可以信手拈来,但是正是因为 Python 做了太多,让我们忽视了很多细节,本文通过解析...接下来我们从 CPython 实现角度出发,详细讲解 Python 中最常见两种序列——列表元组。 序列之列表 list 作为 Python 中最常用内置数据结构,运用十分广泛且灵活。...了解了列表基本操作之后,我们知道列表索引、修改 append 操作复杂度为 O(1) ,而 insert 删除需要遍历,复杂度为 O(n) 。...从以上分析可以看出,元组缓冲区仅对长度小于 20 元组做了优化。元组元素索引也是通过指针读取,这一点跟列表一致。...而与列表相比,元组中没有 allocated ,可以看出相同元素列表元组耗内存。 由于元组是通过指针数组 ob_item[] 存储,换句话说,元组储存了元素地址。

80220

Python数据类型(二)

三、列表元组 Python中有几种类型是一系列元素组成序列,以整数作为索引。字符串str是一种同类元素序列。列表list元组tuple则可以容纳不同类型元素,构成序列。...元组是不可更新(不可变)序列。字符串也是不能再更新序列。列表则可以删除、添加、替换、重排序列中元素。 创建列表:[ ]或者list()。 创建元组:( )或者tuple()。...用索引[n]获取元素列表可变)。 +:连接两个列表/元组。 *:复制n次,生成新列表/元 组• len():列表/元组元素个数。...五、字典dict 字典是通过键值key来索引元素value,而不是象列表是通过连续整数来索引。字典是可变类型,可以添 加、删除、替换元素字典元素value没有顺序,可以是任意类型。...建立大型数据结构 嵌套列表列表元素是一些列表;alist[i][j];字典元素可以是任意类型,甚至也可以是字典;bands={'Marxes':['Moe','Curly']};字典键值可以是任意不可变类型

1.5K10

python文档:数据结构列表特性,del语句,元组,集合,循环技巧)字典

数据结构 本章节将详细介绍一些您已经了解内容,并添加了一些新内容。 5.1. 列表更多特性 列表数据类型还有很多方法。...其结果将是一个新列表对表达式依据后面的 for if 子句内容进行求值计算而得出。...嵌套列表推导式 列表推导式中初始表达式可以是任何表达式,包括另一个列表推导式。 考虑下面这个 3x4矩阵,它3个长度为4列表组成 >>> matrix = [ ......一个元组几个被逗号隔开组成,例如 >>> t = 12345, 54321, 'hello!' >>> t[0] 12345 >>> t (12345, 54321, 'hello!')...注意多重赋值其实也只是元组打包序列解包组合。 5.4. 集合 Python也包含有 集合 类型。集合是不重复元素组成无序集。它基本用法包括成员检测消除重复元素

1.5K20

Python基础(二)基本数据类型

) complex(复数) Python字符串 ''' Python字符串 字符串或串(String)是数字、字母、下划线组成一串字符。...字符串一样,列表同样可以被索引截取,列表被截取后返回一个包含所需元素列表。...Python元组 ''' Python元组 元组(tuple)与列表类似,不同之处在于元组元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。...Python 字典 ''' Python 字典 字典(dictionary)是除列表以外python之中最灵活内置数据结构类型。列表是有序对象结合,字典是无序对象集合。...两者之间区别在于:字典当中元素是通过键来存取,而不是通过偏移存取。 字典用"{ }"标识。字典索引(key)和它对应值value组成

60930

软件测试人工智能|一文告诉你Python元组相关操作

前言当我们谈及Python数据结构时,元组(tuple)是一个重要且常用概念。元组类似于列表,但是它是不可变数据结构,其中元素不能被修改。让我们深入了解一下元组各种方面。什么是元组?...在Python中,元组逗号分隔组成有序集合。列表类似,但不同是,元组是不可变,一旦创建后,元素就不能被修改、添加或删除。...元组定义# 创建一个元组my_tuple = (1, 2, 3, 'a', 'b', 'c')# 空元组empty_tuple = ()元组元素引用列表一样,可以使用索引来引用元组元素,索引同样从...字典键: 元组可以作为字典键,因为元组是不可变元组常用方法count(): 统计某个元素元组中出现次数。index(): 返回指定元素第一次出现索引。...了解掌握元组特性使用方法,可以让我们更好地利用Python强大功能。

16910

盘点 Python 10 大常用数据结构(上篇)

然而,随着学习深入,平时遇到实际场景变复杂,很有必要去了解Python内置更加强大数据结构deque、heapq、Counter、OrderedDict、defaultDict、ChainMap,...实现原理 list对应数据结构线性表,列表长度在初始状态时无需指定,当插入元素超过初始长度后再启动动态扩容,删除时尤其位于列表开始处元素,时间复杂度为O(n) 2 tuple 元组是一类不允许添加删除元素特殊列表...3 set 基本用法 set是一种里面不能含有重复元素数据结构,这种特性天然使用于列表去重。...4 dict 基本用法 dict 是Python中使用最频繁数据结构之一,字典创建通过dict函数、{}写法、字典生成式等,增删查元素效率都很高。...如leetcode第一题求解两数之和时,就会使用到dictO(1)查询时间复杂度。 同时,Python类中属性值等信息也都是缓存在__dict__这个字典数据结构中。

88530
领券