Python内置数据结构

Python内置数据结构

数值型

Intfloatcomplexbool

序列对象

字符串:str  列表:list   数组:tuple

键值对

集合:set    字典:dict

数值型

Intfloatcomplexbool都是class15.02+3j都是对象即示例

Intpython3int就是长整形,且没有大小限制,受限于内存区域的大小

Float:有整数部分和小数部分组成,实数和虚数组成,支持十进制和科学计数法组成,双精度型。

Complex:有实数部分和虚数组成,实数和虚数都是由浮点数。3+4.2j

bool:int的子类,仅有2实例truefalse对应10,可以和整数直接运算

类型转换

Int(x)返回一个整数

Float(x)返回一个浮点数

Complex(x)Complex(xy)返回一个复数

bool(x)返回布尔值,false等价的对象

数字的处理函数

round(),四舍六入取偶

floor()向下取整,ceil()向上取整

Int()取整数部分

//整除且向下取整

math.sqrt()开方

类型判断

type(obj),返回类型,而不是字符串

Instance(obj,class_or_tuple),返回布尔值

列表list

一个队列,一个排列整齐的队伍

列表内的个体称作元素,由若干元素组成列表

元素可以是 任意对象(数字,列表,字符串,对象等)

列表内元素有顺序,可以使用索引

线性的数据结构

可以使用[]表示

列表是可变的

列表list 链表 queue stack的差异

列表可以插入

Queue不可以插入,只能开头和结尾

Stack是覆盖式的,后进先出

链表分散的链表可以随机插入

列表索引访问

索引,也叫下标

正索引:从左到右,从0开始,为列表中的每一个元素编号

负索引:从右到左,从负1开始

正负索引不可以超界,否则引发异常indexerror

为了理解方便,可以认为列表是从左到右排列的,左边是头部,右边是尾部,左边是下界右边是上界

列表通过索引访问

列表查询

Index(value,[start,[stop]])

通过值value,从指定区间查找列表的元素是否匹配

匹配到第一个就立即返回索引

匹配不到就抛出异常valueerror

count(value)

返回列表中匹配的value次数

时间复杂度

Index和count方法都是O(n)

随着列表数据规模的增大,而效率下降

如何返回元素列表的元素个数?如何遍历?如何设计高效?

len()

列表元素修改

list[index] = value

索引不要超界

列表增加,插入元素

append(object)-> none

列表尾部追加元素,返回none

返回none就意味着没有新的列表产生,就地修改

时间复杂度O(1)

Insert(index,pbject)->none

从索引处插入,需要移动位置时间复杂度较高不常用

超越上界,尾部追加。超越下界尾部追加

Extend(iteratale) – > none

将可迭代对象的元素最加进来,返回none

就地修改

+ ->list

链接操作,将两个列表链接起来

产生新的列表,源列表不变

本质上是调用的_add_()方法

*  -list

重复操作,将本列表元素重复n次,返回新的列表

列表删除元素,插入元素

remove() -> none

从左到右查找第一个匹配的value的值,移除该元素,返回none

就地修改

效率不高O(n)

pop([index]) -> item

不指定索引的index,就从列表尾部弹出一个元素

指定索引index,就从索引处弹出一个元素,索引超界抛出indexerror错误

时间复杂度O()

clear() -> none

清除列表的所有的元素,剩下一个空列表

列表的其他操作

reversed() -> none

将列表元素反转,返回none

就地修改

sort(key=none,reverse=false) -> none

对列表元素进行排序,就地修改,默认升序

reversetrue,反转,降序

key一个函数,指定key如何排序

In

[3,4]in[1,2,[3,4]]

For x in [1,2,3,4]

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92950

(0)
zhangmengzhangmeng
上一篇 2018-03-26 19:43
下一篇 2018-03-26 19:47

相关推荐

  • find文件:就是这么简单

    概述 由于Linux一切皆文件,我们的日常运维工作其实就是与文件打交道的事,如何能够快速而有效地找到我们需要的文件呢?这是个令人头疼的问题。幸运是,Linux为用户提供了强大的查找工具——find。find通过遍历指定路径完成文件查找,它的的工作特点: 精确查找——多查询条件组合,精确匹配; 实时查找——遍历指定路径; 查找速度稍慢——由于需要遍历路径,速度…

    Linux干货 2016-08-18
  • iptables的使用

    iptables         firewall:隔离工具;Packets Filter Firewall;工作于主机或网络的边缘,对经由的报文根据预先定义的规则(匹配条件)进行检测,对于能够被规则匹配到的报文实行某预定义的处理机制的一条组件; 硬件防火墙:在硬件级别实现部分顾虑功能;另…

    Linux干货 2016-10-29
  • GRUB

    GRUB(Boot Loader):  grub: GRand Unified Bootloader grub 0.x: grub legacy grub 1.x: grub2 grub legacy: stage1: mbr stage1_5: mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统; s…

    Linux干货 2016-04-12
  • find命令总结

    用途:     find命令用来在文件层级结构中搜索跟条件匹配的文件 语法:     find [OPTIONS] [查找起始路径] [查找条件] [处理动作]     查找起始路径:指定具体搜索起始路径。默认为当前目录  &nb…

    Linux干货 2016-09-19
  • 集群-基础知识(2)

    负载均衡集群实现方法: 1、硬件方式 F5,CITRX,NETSCALER,A10(价格逐渐降低,由于为了防止调度器成为单点故障,所以要配置一台备用设备,所以造价更高了) 2、软件方式 四层:LVS(根据请求的ip和端口来分发),性能好,但对高级特性支持不好。 七层(反向代理):Nginx(http,smtp,pop3,imap),Haproxy(主要是ht…

    Linux干货 2015-11-26
  • Linux——文件处理工具(一)

    (1) 文件查看命令: cat,tac,rev cat [OPTION]… [FILE]…读取文件内容 –E: 显示行结束符$ –V :显示非打印字符 –n: 对显示出的每一行进行编号 –A:显示所有字符 –b:非空行编号 –s:将连续的空行变成一行 &#8211…

    2017-07-29