列表方法:
1. append 方法
>>> lst = [1,2,3]
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]
>>> xc=lst.append(5)
>>> xc
>>> print xc
None
>>> lst
[1, 2, 3, 4, 5]
>>> xc=lst
>>> xc
[1, 2, 3, 4, 5]
append 方法只修改了原来的列表,无返回,结果为None,直接赋值的时候可以
2.count 方法
统计某个元素在列表中出现的次数
>>> ['to','asd','er','ww'].count('to')
1
>>> x=[[1,2],1,2,1,[1,2]]
>>> x.count(1)
2
>>> x.count([1,2])
2
3. extend 方法
在列表的末尾一次性的追加另一个序列中的多个值,换句话说,可以用新列表扩展原有的列表
>>> a=[1,2,3]
>>> b=[4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
>>> a+b ------ a=a+b 也可以实现extend的效果 但是连接操作的效率会比extend方法低
[1, 2, 3, 4, 5, 6, 4, 5, 6]
>>> a
[1, 2, 3, 4, 5, 6]
分片方法也可以实现extend 但是可读性降低
>>> a=[1,2,3]
>>> b=[4,5,6]
>>> a[len(a):]=b
>>> a
[1, 2, 3, 4, 5, 6]
4. index 方法
从列表中找出某个值第一个匹配项的索引位置
>>> knights=['We','are','the','knights','who','say','ni']
>>> knights.index('who')
4
>>> knights[4]
'who'
>>> knights.index('qiaoc')
Traceback (most recent call last):
File "<pyshell#27>", line 1, in <module>
knights.index('qiaoc')
ValueError: 'qiaoc' is not in list
注意:当查找不存在的项时则报错
5.insert 方法
用于将对象插入到列表中
>>> numbers=[1,2,3,5,6,7]
>>> numbers.insert(3,'four')
>>> numbers
[1, 2, 3, 'four', 5, 6, 7]
insert 方法也能用分片来实现
>>> numbers=[1,2,3,5,6,7]
>>> numbers[3:3]=['four']
>>> numbers
[1, 2, 3, 'four', 5, 6, 7]
6.pop 方法
移除列表中的一个元素(默认是最后一个),并且返回该元素的值
>>> x=[1,2,3]
>>> x.pop()
3
>>> x
[1, 2]
>>> x.pop(0)
1
>>> x
[2]
注意:pop方法是唯一一个既能修改列表又返回元素值(除了None)的列表方法
(可以模拟实现 栈 先进先出)
7. remove 方法
移除列表中的某个值的第一个匹配项
>>> x=['to','be','or','not','to','be']
>>> x.remove('be')
>>> x
['to', 'or', 'not', 'to', 'be']
>>> x.remove('bee')
Traceback (most recent call last):
File "<pyshell#43>", line 1, in <module>
x.remove('bee')
ValueError: list.remove(x): x not in list
注意:移除不存在的元素会报错
8.reverse 方法
将列表中的元素反向存放
>>> x=[1,2,3]
>>> x.reverse()
>>> x
[3, 2, 1]
9. sort 方法
在原位置对列表进行排序,在“原位置排序”意味着改变原来的列表,从而让其中的元素能按一定的顺序排列,而不是简答的返回一个已经排序的列表副本
>>> x=[4,5,2,1,9,6]
>>> x.sort()
>>> x
[1, 2, 4, 5, 6, 9]
----------------
实现保留原来的列表 和排序后的列表
>>> x=[4,5,2,1,9,6]
>>> y=x.sort()
>>> print y
None
>>> x=[4,5,2,1,9,6]
>>> y=x[:]
>>> y.sort()
>>> x
[4, 5, 2, 1, 9, 6]
>>> y
[1, 2, 4, 5, 6, 9]
注意: 这里y=x[:] 利用分片是很有效率的复制整个列表的方法
只是简单的把x赋值给y是没用的,因为这样做就让x和y都指向同一个列表了
>>> x=[4,5,2,1,9,6]
>>> y=x
>>> y.sort()
>>> x
[1, 2, 4, 5, 6, 9]
>>> y
[1, 2, 4, 5, 6, 9]
另一种获得已排序的列表副本的方法是 sorted 函数
>>> x=[4,5,2,1,9,6]
>>> y=sorted(x)
>>> x
[4, 5, 2, 1, 9, 6]
>>> y
[1, 2, 4, 5, 6, 9]
这个函数可以用于任何序列,却总是返回一个列表
>>> sorted('python')
['h', 'n', 'o', 'p', 't', 'y']
10. 高级排序
内建函数cmp 提供了比较函数的默认实现
>>> cmp(42,32)
1
>>> cmp(99,100)
-1
>>> cmp(2,2)
0
>>> numbers=[5,2,9,7]
>>> numbers.sort(cmp)
>>> numbers
[2, 5, 7, 9]
sort 方法有另外两个可选的参数--key和reverse
参数key和参数cmp类似---必须提供一个在排序过程中使用的函数,然而该函数并不是直接用来确定对象的大小,而是为每个元素创建一个
键,然后所有元素根据键来排序。
>>> x=['aadreas','asdd','sacas','a','as','asda']
>>> x.sort(key=len)
>>> x
['a', 'as', 'asdd', 'asda', 'sacas', 'aadreas']
reverse 关键字是简单的布尔值(True或者False) 用来指明是否进行反向排序
>>> x=[4,2,5,1,6,9]
>>> x.sort(reverse=True)
>>> x
[9, 6, 5, 4, 2, 1]
注意:cmp,key,reverse参数都可以用于sorted函数!
===================================================================================
元组
元组与列表一样,也是一种序列,唯一的不同时元组不能修改
>>> 1,2,3
(1, 2, 3)
>>> (1,2,3) ---- 元组大部分时候用大括号括起来
(1, 2, 3)
空元组可以用没有内容的2个括号表示
>>> ()
()
包括一个值的元组 必须用逗号
>>> 42
42
>>> 42,
(42,)
>>> (42,)
(42,)
tuple函数
功能与list函数基本上是一样的:以一个序列作为参数并把它转换为元组,如果参数是元组那么该参数就会被元样返回
>>> tuple([1,2,3])
(1, 2, 3)
>>> tuple('abc')
('a', 'b', 'c')
>>> tuple((1,2,3))
(1, 2, 3)