python学习第二章(序列)

来源:岁月联盟 编辑:exp 时间:2012-07-16
一:列表
1.列表:列表可以修改。字符串也是一个序列,它是一个由字符组成的序列。字符串字面值可以直接使用索引,如'hello'[1]返回'e'。
2.分片:类似java里的subtring,使用冒号分隔开始和结束字符索引,结果不包括结束索引所代表的那个字符。如果需要获取从指定位置开始到最后的元素,则直接使用[3:]这样即可。当然获取从开始到指定位置的元素使用[:3],如果获取整个序列,则[:]即可。分片还有一个参数是步长,表示两个相邻元素应该隔多少。步长不能为0但可以为负数。当使用负数作为步长时,必须让开始索引大于结束索引,对于正数步长,会从序列的头部开始向右提取元素,对于负数步长,则是从序列的尾部开始向左提取元素。
3.序列相加:列表和字符串是无法连接在一起的,尽管他们都是序列。两种类型相同的序列才能进行连接操作。
4.序列乘法:某个序列乘以一个数字则表示该序列中内容重复多少次出现。
5.使用in运算符可以确定某个字符或序列是否在某个序列中。
6.长度、最小值、最大值:可以直接使用len,min,max三个内建函数实现。
7.元素赋值,删除元素,分片赋值:元素赋值直接使用索引操作,names[2]='new'即将names中的第三个元素赋为new了。删除元素使用del names[2]即可删除names中的第三个元素。分片赋值可以为一段元素进行赋值,names[1:]=list('word')这时将names中1开始的字符都变为word了,list函数是列表的内建函数。
8.列表方法:append用于在列表末尾追加新的对象。count方法统计某个元素在列表中出现的次数。extend方法可以在一个列表后加上另外一个列表的内容,extend方法和连接操作的区别是extend方法改变了被扩展的序列,而连接操作则只是返回一个全新的列表,并没有改变原来的列表。index方法用于从列表中找出某个值第一个匹配项的索引位置。numbers.index('aa')返回aa在numbers中第一次出现的位置。insert方法用于将对象插入到列表的指定位置中。pop方法会移除列表中的一个元素(默认是最后一个),并且返回该元素的值,pop方法是唯一一个既能修改列表又返回元素之的列表方法。remove方法用于移除列表中某个值的第一个匹配项。reverse方法将列表中的元素反向存放,如果需要对一个序列进行反向迭代,可以使用reversed方法,这个方法并不返回一个列表,而是返回一个迭代器对象,我们可以使用list函数将这个迭代器对象转换成列表。sort方法用于在原位置对列表进行排序,sort方法会改变原来的列表,所以想获取排序之前的列表需要将列表复制(y=x[:])给另外一个列表然后在进行排序操作,还可以使用sorted方法将排好序的列表复制给另外一个列表即可。cmp方法相当于java里的compareTo方法。
二:
1.元组:元组不能修改。创建只有一个元素的元组必须在元素后面加上逗号。如aa,
2.加了逗号就是元组,没有加逗号的就是简单的字符串或其他对象。
3.tuple函数:以一个序列作为参数并把它转换为元组。
4.元组的各种操作可以参照列表的操作。
列表和元组区别:
1.元组可以在映射(和集合的成员)中当作键使用,而列表则不行。
2.元组作为很多内建函数和方法的返回值存在,也就是说你必须对元组进行处理。只要不尝试修改元素,那么处理元组在绝大多数情况下就是把它们当作列表来操作。
作者:uohzoaix

图片内容