Python数据结构

所属系列:【Python工程师系列】

所属主题:【Python零基础】

1

编码格式建议

不用Tab缩进,用4倍空格缩进

必要时换行(避免单行超出79个字符)

用空格区分函数或者类或者函数内部的一大段代码

代码前面加上必要的注释

用文档字符串

操作符liagn两边或者逗号后面必须空格

函数采用lower_case_width_underscore方式命令,类用驼峰(CanekCase)方式命名;总是用self当作类的第一个方法的参数

不要用特殊的编码格式(ASCII是兼容所有的)

2

数据结构

数组

python数据默认有一些常用方法:比如append, extend, insert等等

作为堆栈使用

作为队列使用

一些常用的方法

filter(function, sequence) : 返回function的值为true的所有值

map(function, sequence): 返回处理后的值

传递两个数组: 分别从一个数组里取出一个数 返回相加后的结果

reduce(function, sequence) :把数组的第一个和第二个参数想加的和和第三个数再加。。如果数组为空,会返回异常

reduce可以指定开始的第一个数的索引:

创建数组的几种形式:

更复杂点的例子:x,y作为一个整体 必须加上括号

更多例子:

二维数组

复杂点的例子:

相当于:

删除数组内元素:del

删除整个数组:

新类型:元组。输入可以加括号,也可以不加。输出都是带括号的。

空元组和只有一个元素的元组:

逆序元素:

新的类型:集合

创建空集合:set()

集合a, b 之间的交集 并集

新的类型:字典

字典是根据key索引的,而key数据类型可以为数字或者字符串,元组的元素都是不可变的,也可以作为key。数组不能作为key,因为数组可被修改

dict方法直接创建字典:

遍历

通过enumerate方法

一次性遍历多个(这个特性不错。。

逆序遍历:reversed

对数组排序(sorted方法),然后遍历:

遍历字典的时候,获得key和value:

遍历的时候改变一个数组:

更多条件语句

比较运算符:

in和not in判断是否在序列里面; is和is not用来比较两个对象是否是同一个对象;

比较可以链式: a < b == c 判断a小于b,并且b等于c

布尔操作符:and和or 优先级比比较运算符低 not优先级最高 or最低

布尔运算符,当一个满足条件不会继续下面的计算

比较结果可以被赋值:

3

模块

退出解释器后,所有声明的函数或者变量都不存在了。所以我们需要创建一个python脚本,可持续地运行。每一个脚本文件称之为一个模块。

比如我们创建一个文件:fibo.py

在解释器里面导入这个模块:

访问模块的函数:

函数赋给一个变量

本文来自企鹅号 - github媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Vamei实验室

Java基础11 对象引用

我们之前一直在使用“对象”这个概念,但没有探讨对象在内存中的具体存储方式。这方面的讨论将引出“对象引用”(object reference)这一重要概念。 ...

1868
来自专栏desperate633

排列类算法问题大总结全排列分析带重复元素的全排列代码下一个排列分析上一个排列分析第k个排列分析排列序号分析排列序号II分析

[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ]

571
来自专栏从流域到海域

Python dict(字典)

Python dict即字典,是一种非常有用的数据结构,相当于其他语言的Map,这种数据结构采用键值对(key-value)形式存储,具有非常快的查询速度...

2209
来自专栏python3

python random模块

随机输出一个0~4的数字和range()输出的数字,去比较。猜对了,就是字母,否则是数字

582
来自专栏数据结构与算法

24:单词的长度

24:单词的长度 总时间限制: 1000ms 内存限制: 65536kB描述 输入一行单词序列,相邻单词之间由1个或多个空格间隔,请对应地计算各个单词的长度。...

2735
来自专栏Vamei实验室

Java基础01 从HelloWorld到面向对象

Java是完全面向对象的语言。Java通过虚拟机的运行机制,实现“跨平台”的理念。我在这里想要呈现一个适合初学者的教程,希望对大家有用。 "Hello Worl...

1756
来自专栏码云1024

NumPy Ndarray对象

NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型。 它描述相同类型的元素集合。 可以使用基于零的索引访问集合中的项目。

3517
来自专栏java一日一条

如何用 JavaScript 实现一个数组惰性求值库

看到函数式语言里面的惰性求值,想自己用 JavaScript 写一个最简实现,加深对惰性求值了解。用了两种方法,都不到 80 行实现了基本的数组的惰性求值。

682
来自专栏Python中文社区

7个提升Python程序性能的好习惯

使用局部变量替换模块名字空间中的变量,例如 ls = os.linesep。一方面可以提高程序性能,局部变量查找速度更快;另一方面可用简短标识符替代冗长的模块变...

1236
来自专栏我爱编程

Day16正则表达式

正则表达式(Regular Expression)的主要功能是从字符串(string)中通过特定的模式,搜索希望找到的内容。比如想找到小说中的所有人名,找到字符...

2858

扫码关注云+社区