1、序列是Python中最基本的数据结构。序列中的每个元素被分配一个序列号——元素的位置,也称索引,第1个索引是0,第2为1,以此类推。序列中的最后1个元素为-1,倒数第2个位-2。
python中有6中内建的序列:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。
2、通用序列操作:索引(indexing)、分片(sliceing)、加(adding)、乘(multiplying)、检查某个元素是否属于序列成员、计算序列长度、找出最大元素和最小元素的内建函数。
- 两种相同类型的序列才能进行连接操作
- 用数字x乘以1个序列会生成新的序列,而在新的序列中,原理的序列将被重复x次
- 空列表可以简单的通过=[]实现,表示里面虾米东西也没有
- None代表空值,number=[None]*10,创建有10个元素的列表,但是值为空
- in 运算符检查一个对象是否为某个序列的成员 eg 'p' in 'python', 返回布尔值
- len函数返回序列所包含元素的数量
- min函数和max函数返回序列中最大和最小的元素
3、列表的基本操作:有序的标准操作;元素赋值、元素删除、分片赋值以及列表方法
eg. del names[3]
name = list('Perl'),name[2:]=list('arr'),['p', 'y', 'a', 'r', 'r']
list的方法
- append方法用于在列表末尾追加新的对象
- count方法统计某个元素在列表中出现的次数
- extend方法在列表的末尾一次性追加另一个序列中的多个值,相当于a+b
- index方法用于从列表中找出某个值第1个匹配项的索引位置
- insert在某个位置插入某个值,Insert[index,X]
- pop移除列表中的一个元素,默认最后1个元素,并返回该元素的值。pop可以实现常见的数据结构——栈
- remove方法移除列表中某个值得第1个匹配项
- reverse方法将列表中的元素发现存放
- sort方法用于在原位置对列表排序,在原位置排序意味着改变原来的列表,从而让其中的元素按一定的顺序排列,而不是简单地返回一个已排序的列表副本
- eg x.sort 返回的是X元素排列好的x,比如x=[2,8,0] x.sort x=[0,2,8],不能y=x.sort()
- 要想将排序后的副本赋值,使用y=x.sorted()
- 如果想把一些元素按相反的顺序序列,可以先使用sort或sorted,然后再调用reverse方法
- 高级排序 compare(x,y)函数会在x<y时返回负数,在x>y时返回正数,如果x=y则返回0
- 高级参数cmp, key, reverse, 如x.sort(cmp), x.sort(key=len),x.sort(reverse=True),这些参数可以用于sorted。可为cmp和key提供了自定
4、元组(tuple): 不可变序列
- 可自动创建,比如1,2,3,或者使用圆括号(1,2,3);实现1个元组的方法是加逗号,eg. 42, 或者(42,), 4*(23+3,)生成(26, 26, 26, 26)
- tuple函数将序列、字符串、元组等生成元组,如tuple([1,2,4])
- 元组的意义:有2种情况元组是不可替代的
- 元组可以在映射(和集合的成员)中档做键使用——而列表不行
- 元组可以作为很多内建函数和方法的返回值存在