python基础学习笔记(四)
2013-04-18 23:59 虫师 阅读( ... ) 评论( ... ) 编辑 收藏
列表
本节继续讨论列表不同元组和字符串的地方:列表是可变的( mutable ) ---- 可以改变列表的内容,并且列表有很多有用的、专门的方法。
List 函数可以将一个字符串拆分成列表。
>>> list( ' chongshi ' ) [ ' c ' , ' h ' , ' o ' , ' n ' , ' g ' , ' s ' , ' h ' , ' i ' ]
改变列表:元素赋值
例如,我们想对一个列表中的某个元素赋值。
>>> x =[1,2,3,4 ] >>> x[2]=18 >>> x [ 1, 2, 18, 4]
删除元素
从列表中删除元素也很容易,使用 dele 语句来实现。
>>> names = [ ' zhangsan ' , ' lisi ' , ' wangwu ' , ' sunliu ' ] >>> del names[2 ] >>> names [ ' zhangsan ' , ' lisi ' , ' sunliu ' ]
分片赋值 :
>>> name = list( ' huzi ' ) >>> name [ ' h ' , ' u ' , ' z ' , ' i ' ] >>> name[2:]=list( ' dazhi ' ) >>> name [ ' h ' , ' u ' , ' d ' , ' a ' , ' z ' , ' h ' , ' i ' ]
name 的内容为“ huzi ” ,从第 3 个字符( 2 )开始替换,用“ da ”替换“ zi ”并被扩容“ zhi ” , 所以新的 name 的内容为“ hudazhi ”。
列表方法
方法是一个与某些对象有紧密联系的函数,对象可能是列表、数字,也可能是字符串或者其他类型的对象,一般来说,方法可以这样进行调用:
对象.方法(参数)
方法调用与函数调用很类似。
1 、 append
append 方法用于在列表末尾追加新的对象:
>>> abc = [1,2,3 ] >>> abc.append(4 ) >>> abc [ 1, 2, 3, 4]
2、 count
count 方法统计某个元素在列表中出现的次数:
>>> [ ' to ' , ' be ' , ' or ' , ' not ' , ' to ' , ' be ' ,].count( ' to ' ) 2 >>> x = [[1,2],1,1,[2,1,[1,2 ]]] >>> x.count(1 ) 2 >>> x.count([1,2 ]) 1
3、 extend
extend 方法可以在列表的末尾一次性追加另一个序列中的多个值。用新列表扩展原有列表:
>>> a = [1,2,3 ] >>> b = [4,5,6 ] >>> a.extend(b) >>> a [ 1, 2, 3, 4, 5, 6]
4、 index
index 方法用于从列表中找出某个值第一个匹配项的。
>>> knights = [ ' We ' , ' are ' , ' the ' , ' kninghts ' , ' who ' , ' say ' , ' ni ' ] >>> knights.index( ' who ' ) 4 >>> knights[4 ] ' who '
5、 insert
insert 方法用于将对象插入到列表中:
>>> numbers = [1,2,3,5,6,7 ] >>> numbers.insert(3, ' four ' ) >>> numbers [ 1, 2, 3, ' four ' , 5, 6, 7]
6、 pop
pop 方法会移除列表中一个元素(默认是最后一个),并且返回该元素的值:
>>> x = [1,2,3 ] >>> x.pop() 3 >>> x [ 1, 2 ] >>> x.pop(0) 1 >>> x [ 2]
7、 remove
remove 方法用于移除列表中某个值的第一个匹配项:
>>> x = [ ' to ' , ' be ' , ' or ' , ' not ' , ' to ' , ' be ' ] >>> x.remove( ' be ' ) >>> x [ ' to ' , ' or ' , ' not ' , ' to ' , ' be ' ]
8、 reverse
revers 方法将列表中的元素反向存放
>>> x = [1,2,3 ] >>> x.reverse() >>> x [ 3, 2, 1]
9、 sort
sort 方法用于在原位置对列表进行排序。在“原位置排序”改变原来的列表,从而让其中的元素能按一定的顺序排列。
>>> x = [4,6,2,1,7,9 ] >>> x.sort() >>> x [ 1, 2, 4, 6, 7, 9]
元组:不可变序列
元组与列表一样,也是一种序列。唯一的不同是元组不能改变。创建元组的语法很简单:如果你用逗号分割了一些值,那么你就自动创建了元组。
>>> 1,2,3 ( 1, 2, 3 ) >>> (1,2,3) # 用括号表示元组 (1, 2, 3 ) >>> () # 空元组 ()
如何实现包含一个值的元组呢?方法有点奇特 ---- 必须加逗号,即使只有一个值:
>>> 42 , ( 42 ,) >>> (42 ,) ( 42 ,) >>> 3 * (20+1 ) 63 >>> 3 * (20+1 ,) ( 21, 21, 21)
tuple 函数
tuple 函数的功能与 list 函数基本上一样:以一个序列作为参数并把它转换为元组。
>>> tuple([1,2,3 ]) ( 1, 2, 3 ) >>> tuple( ' abc ' ) ( ' a ' , ' b ' , ' c ' ) >>> tuple((1,2,3 )) ( 1, 2, 3)