每个数据结构都是语言设计者的精心设计,推导式也是有趣的部分
python的数据结构,函数和文件
- 数据结构和序列,函数,文件讲分为3个部分进行叙述
数据结构和序列
python的数据结构有元组,列表,字典,集合
元组
元组是一个固定长度,不可改变的python序列对象,创建元组最简单的方式就是用逗号进行分隔
如何元组中某个对象是可变的,可以在原位上进行修改
元组可以相接与复制
拆分元组
拆分和数值交换
拆分迭代元组或者列表序列
tuple方法
元组有一个方法和列表保持一致是叫做count,可以统计某个值出现的频率
列表
与元组对比,列表的长度可变,内容可以被修改,可以用方括号定义,或者用list函数
添加和删除元素
通过in或者not in可以检查列表是否包含该数据
串联和组合列表
排序
通过使用sort函数对一个列表原地排序
二分搜索和维护已排序的列表
在python中bisect模块支持二分查找和向已排序的列表插入值
切片
切片的目的主要选取大多数序列类型的一部分,切片的基本形式就是strat:stop
切片的起始元素是包含的,但不包含结束元素,因此结果中包含的元素个数为stop-start
递进切片
切片的规律可以如下图所示
序列函数
enumerate函数
迭代一个序列的时候,想知道当前项的序号
sorted函数
sorted函数可以从任意序列的元素返回一个新的排好序的列表
zip函数
zip函数可以将多个列表,元组或其它序列组合成一个元组列表
reversed函数
reversed可以从后向前迭代一个序列
字典
字典是python最为重要的数据结构,也可以叫做哈希映射或关联数组.以键值的方式构成,键值都可以是python对象
创建字典的方法之一是使用尖括号,用冒号进行键和值的分隔
删除的2种方式
键值的迭代与字典融合
通过序列创建字典
对单词进行分类
关于有效的键类型
键通常是不可变的标量类型,list是不被允许的
集合
集合是无序,不可重复的元素的集合,可以理解为字典,只有键没有值,创建集合有2种方式,通过set函数或者使用尖括号set语句
集合支持合并,交集,等集合运算
集合中常用的方法
1 | S.add(e) 在集合中添加一个新的元素e;如果元素已经存在,则不添加 |
列表,集合,字典推导式以及嵌套推导式
语法格式如下:[expr for val in colletion if condition]