序列概览

来源:互联网 发布:中兴软件开发批发价 编辑:程序博客网 时间:2024/06/06 01:42

序列概览:

列表和元组、字符串、unicode字符串、buffer对象、xrange对象

python有三种内建的数据结构--列表、元组、字典

 

list下标含义


list方法

L.appendvar),追加元素

L.countvar),计算varL中出现的次数

lenL)返回L的长度

L.extend(list) list追加在L后面

L.indexvar)返回varL中的位置,若无,抛出异常

L.insertindexvar)在index处,插入var,其余元素向后推

L.pop()返回最后一个元素,并且删除最后一个元素

L.removevar)找到var,并且删除之,若无,抛出异常

L.reverse()将L倒序

L.sort()将a排序

 

python对象

数字类型

序列类型

字符串

列表

元组

映射类型

字典

 

Python数据类型—可变对象和不可变对象


 

序列类型—字符串、列表、元组

容器类:列表、元组

字符串:‘hello’   “hello”  ’’’hello’’’

列表:[2,4,’python’]
           [2.4, 6.8, ‘python’, [1, 3,“hello world”]]

元组:(3.3, 6,“computer”)
           (4, (“hello”, 9), [1.1, 5.7,8])

序列类型的操作符

成员关系操作符:in, not in

连接操作符:+

重复操作符:*

切片操作:[ ] [:]  [::]   
0<index<len(sequence)-1

切片操作:[::](开始,结束,步长)。St=‘abcdefghijk’ st[0:11:2]      st=‘acegik’

此处的序号11不包括在内,属于半闭半开范围。

 

字符串类型

字符串是不可变类型

字符串的创建和赋值:常见的方法之外,还有a=str(range(5))  range返回的是一个列表

切片访问字符串等

删除字更新时,s[0]=2会出现错误符串  a=‘hi, world’要删除掉逗号,b=a[:2]+a[3:]

更新时,s[0]=2 会出现错误

列表类型

列表有容器和可变特性

>>>a=list('too')

>>> a[0]

't'

>>> del a[0]

>>> a

['o', 'o']

堆栈—后进先出

list.append() 向队列尾部添加

list.pop() 从队列尾部删除

队列—先进先出

list.append() 向队列尾部添加

list.pop(0) 从队列头部删除

元组

元组是不可变类型

T=([‘qwe’,3,5], ‘yu’,4,5) t[0][1]

元组的更新,t[0]=7,会有错误,因为元组是不可变类型

不能删除元组的元素,因为元组是不可变的

元组没有他自己专用的操作符和内建函数。由于元组是不可变的,所以添加、排序、删除等操作,在元组中都没有

 

不可变性对元组的影响

元组中的可变对象依然可变

所有的多对象的、逗号分隔的、没有明确用符号定义的,都默认为元组

单元素元组

list()和tuple() 元组和列表的相互转换

 

数字、字符串和元组是不可变的,但是不可变性对数字的影响相对较小,因为如果修改数字或字符串,就是新建了一个相应的对象。但是对于元组,他是一个容器对象,很多时候希望能够修改。但是,如果要把元组传递给其他函数,而不希望其他函数修改该容器时,元组是一个很好的选择。

元组也没有那么不可变:可以把两个元组相加,形成一个新的大元组,但是新元组的id和以前的不同,即已经不是同一个对象。例子  a = a+(2,3)

若元组中有列表等可变对象,那么修改元组中的该可变对象,是可以的,即元组的id不变。A=([1,2,3],’er’,5)  a[0][0]=0 id不变

默认为元组  举例

(23)这样的被当作整型,而不是元组类型。因为由圆括号包裹的单一元素首先被作为分组操作,而不是元组的分界符,所以要在后面加一个逗号 (23,)  (23+6) ((23+6),9)

 

映射类型—字典

{key1:value1,key2:value2, key3:value3, …}

创建字典和赋值

dict1={} 创建一个空字典

dict2={’name’:’joe’,’age’:30}

dict()方法

访问字典中的值

通过键访问相应的值dict2[’name’]

访问字典的键dict2.keys(),返回一个列表

访问字典的值dict2.values(), 返回一个列表

遍历一个字典

执行中字典的键不能被改变

删除字典元素和字典 deldict2[name]   del dict2

 

dict(([1,2],[3,4],[5,6]))  dict([‘qw’])  dict参数必须是容器类,如列表、元组等,容器类中的元素必须是可迭代对象[1,2],[3,4],[5,6],切每个可迭代对象有两个元素,分别是键和值

Hash()并不是为字典设计的函数,但是用来判断一个对象是否可以作为字典的键。如hash(1)得到其哈希值,说明是可哈希的。若产生异常,则不可以哈希,也就不能作为字典的键。数字和字符串可以作为键,列表和字典这样的可变类型是不可哈希的,所以不能作为字典的键。

所有不可变类型都是可哈希的,所以元组是可哈希的

 

面向对象编程

类:一种数据结构,封装了属性和方法

类的定义

classClassName(object):

          'class documentation string' #文档字符串

           class_suite                           #类体

__init__函数:类的构造器

实例化

第一步:创建实例对象

第二步:检查是否实现了__init__方法

 



0 0
原创粉丝点击