内置数据结构,列表及其方法

List:列表有若干个元素,元素可以是任意对象,元素有顺序,可以使用索引和迭代,使用线性结构,使用[ ]进行描述,在内存中的空间是连续的,每个元素在内存中的空间是一样的………列表是可变的,列表不能一开始就定义大小,列表索引不可以超界

 

列表索引l.index(),从左向右搜索,发现第一个匹配的,自动返回搜索的值的索引;匹配不到,抛出异常ValueError

l.count()返回列表中匹配的值的次数

时间复杂度:index和count方法都是O(n)随着列表数据规模的增大,而效率下降

Insert(index,object)->None,时间复杂度也是O(n),索引可超界,超越上界,尾部追加,超越下界,头部追加: append()时间复杂度为O(1)

内存模型比方法重要

几种序列的区别:list可以进行中间插队,元素可进行挪动;

queue不能进行中间插队,只能在开头或者结尾加入或者拿出元素,也可进行索引

stack:只能后进先出(栈,类似于落盘子)

链表:手拉手模型

可迭代和可索引是两个概念,是不一样的

方法:

index(value,[start,[stop]]):通过value对列表进行查找,匹配第一个立即返回索引,匹配不到,抛出异常

list[index]=value: 对列表中的索引项元素进行修改

list.append(object): 尾部进行元素追加,返回none,没有新列表生成,就地修改

list.insert(index,object): 在指定位置插入元素,返回值为none,没有新列表产生,就地修改,超越上界,尾部追加,超越下界,头部追加

list.extend(iteratable): 将可迭代对象追加进来,就地修改,返回值为none

+ : 将两个列表链接起来,产生新列表,原列表不变,本质上调用add方

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

list.remove(value): 从左到右查找第一个匹配value的值,移除该元素,返回none,就地修改

list.pop([index]): 不指定索引index时从尾部弹出一个元素,指定索引index时,就从索引出弹出一个元素,索引超界抛出indexerror错误

l.clear():清除列表所有元素,剩下一个空列表

l.reverse():将列表元素进行反转,返回none,就地修改

l.sort(key=functionname,reverse=False) :对列表元素进行排序,就地修改,默认升序;reverse为True,反转,降序;key为一个函数,指定如何排序

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

附:

Round() —–四舍六入,五取偶(正负一样,不用考虑正负)

Round(-2.5,-2.5001)—-(-2,-3)

Print中取整计算//按floor计算

 

Floor计算结果取地板

Ceil计算结果取天花板

Math.floor(2.5)—–2

Math.floor(-2.5)—–(-3)

Math.ceil(2.5)—–(3)

Math.ceil(-2.5)—-(-2)

Int(2.5)——(2)

Int(-2.5)——(-2)

 

二进制bin () 返回字符串

八进制oct()返回字符串

十六进制hex()返回字符串

Math.Factorial(n)整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,0的阶乘为1。即:n!=1×2×3×…×n。

 

类型判断:

Type’a’==str

Isinstance(123,int)返回true

Isinstance(123,(int,float,complax))返回true

 

Type(1+false)返回int;bool为int的子类(其中存在数值类型的隐式转换)

 

 

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

(0)
DrueDrue
上一篇 2018-03-25
下一篇 2018-03-25

相关推荐

  • 开篇

    正式开始学习的第一天,了解LINUX,爱上LINUX。希望在往后的日子里越战越勇!!

    Linux干货 2017-07-11
  • Linux系统的软链接和硬链接

    Linux的链接是一种共享文件和访问它的用户的若干目录项之间建立联系的一种方法。一共分为两种链接,分别是软链接和硬链接。 一、硬链接 1、硬链接的本质上是一个文件,它们除了名字不一样,其他都一样,占用的空间是一个。硬链接会增加文件的链接数。如下图 (1)建立硬链集之前     (2)建立硬链接之后 2、删去一个链接名,链接数减一…

    Linux干货 2016-10-22
  • N26-第二周作业-邢岩(1)

     马哥门徒-N26-邢岩   度过了一个愉快的春节,又到了上班的时候了!我的Linux基础学习也进行到了疯狂记命令的阶段,痛并快乐着!那就让我来说一下Linux上的文件管理类命令都有哪些吧。   Linux的文件相关命令还是蛮多的,我不妨简单的总结一下,归结为6类常用的命令: 1、目录切换类命令   pwd命令:显示工…

    Linux干货 2017-02-10
  • bash脚本编程之算术运算和文件查找

    算数运算在每个编程语言里面是最基本的功能,在bash里面也是.相对于其他编程语言来说在bash里面不能直接以变量加上变量的形式来表现;比如我们先声明两个变量num1和num2然后再做运算。 num1=2 num2=3 echo "$num1+$num2" 2+3 这里我们显示的结果直接为2+3只是做了变量的替换,而不是做两个变量…

    Linux干货 2016-12-23
  • 网络管理(二)之IP地址划分子网、多块网卡共用单一IP

    网络管理(二)IP地址   一、认识学习IP地址的组成: 1、它们可唯一标识IP 网络中的每台设备 2、IP地址由两部分组成: 网络ID:标识网络;每个网段分配一个网络ID 主机ID:标识单个主机;由组织分配给各设备 3、点分十进制计法表示IPv4地址: 4、如下图,将系统中的IP地址用二进制表示,再通过转换合成的十进制数,使用ping命令可得出:…

    Linux干货 2016-09-05
  • Linux磁盘配额

    磁盘配额 什么是磁盘配额? 磁盘配额(Quota)是Linux系统中由于是多用户、多任务的环境,所以会有多用户共同使用一个硬盘空间的情况发生,如果其中少数几个用户大量占掉了磁盘空间的话,那肯定影响其他用户的使用权限。因此我们就需要对每个用户限制硬盘使用空间,来避免此种情况的发生,这就是磁盘配额。 Quota的一般用途: *针对WWW server,例如:每个…

    Linux干货 2016-09-01