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 条评论
登录 后参与评论

相关文章

来自专栏Jerry的SAP技术分享

如何在SAP CRM里创建和消费Web service

The following steps demonstrates how to expose a function module as a web servic...

941
来自专栏前端儿

Web 前端颜色值--字体--使用,整理整理

颜色值 CSS 颜色使用组合了红绿蓝颜色值 (RGB) 的十六进制 (hex) 表示法进行定义。对光源进行设置的最低值可以是 0(十六进制 00)。最高值是 2...

2762
来自专栏码匠的流水账

spring security reactive获取security context

本文主要研究下reactive模式下的spring security context的获取。

2142
来自专栏余生开发

echarts太阳分布图-饼图来回穿梭

var dom = document.getElementById("container");

1442
来自专栏跟着阿笨一起玩NET

c# 使用timer定时器操作,上次定时到了以后,下次还未执行完怎么处理

------解决方案-------------------------------------------------------- 开始的时候,禁用定时器,你...

3041
来自专栏码匠的流水账

聊聊HystrixCommandExecutionHook

hystrix-core-1.5.12-sources.jar!/com/netflix/hystrix/strategy/executionhook/Hyst...

832
来自专栏码匠的流水账

聊聊HystrixThreadPool

hystrix-core-1.5.12-sources.jar!/com/netflix/hystrix/HystrixThreadPool.java

921
来自专栏搞前端的李蚊子

Html5模拟通讯录人员排序(sen.js)

// JavaScript Document  var PY_Json_Str = ""; var PY_Str_1 = ""; var PY_Str_...

6386
来自专栏Hadoop数据仓库

Oracle sqlldr 如何导入一个日期列

1. LOAD DATA INFILE * INTO TABLE test FIELDS TERMINATED BY X'9' TRAILING NULLCO...

1876
来自专栏WOLFRAM

向日葵中的数学之美

1923

扫码关注云+社区