涂伟忠 收集整理 2013 年 10 月 20 日--2014 年 11 月 23 日 于 武汉大学
第
6
页/共
28
页
数据结构--"列表(list)"
list 是一组有顺序的数据,它的元素(对象)个数是变的(后面要说的元组则是固定的)。
>>>list_a = [1, 2] #
定义
list_a
含有
1,2
两个对象
>>>list_a.append(2) #
添加一个对象到末尾
>>>list_a #
查看
list_a
中内容
[1, 2, 2] # shell
中显示
>>>list_a.count(2) #
返回
list_a
中对象是
2
的个数
2 # shell
中显示有
2
个值为
2
的对象
>>>list_b = [3, 4] #
定义
list_b
含有
3
,
4
两个对象
>>>list_a.extend(list_b) #
在
list_a
末尾添加添加
list_b
>>>list_a #
查看
list_a
中内容
[1, 2, 2, 3, 4] # shell
中显示
>>>list_a.index(3) #
返回第
1
个匹配的指定值在
list
中的位置,
list
中第
1
个
对象的位置是
0
,第
2
个对象位置是
1
,以此类推
3 # shell
中显示
>>>list_a.insert(2
,'
ok
'
) #
在
list_2
位置是
2
的对象前添加对象'
ok
'
,
返回
None
>>>list_a #
查看
list_a
中内容
[1, 2, 'ok', 2, 3, 4]
>>>list_a.pop() #
删除并返回
list
中最后一个对象
>>>list_a.remove(2) #
删除第
1
次出现的匹配指定值的对象
,
没有指定值的话
ValueError
如何删除所有的
2
呢?
while 2 in list_a: list_a.remove(2)
>>>list_a #
查看
list_a
中内容
可以想想如何删除所有的 2
[1, 'ok', 2, 3, 4]
>>>list_a.reverse() #
将
list_a
中的所有对象的位置反转
>>>list_a #
查看
list_a
中内容
[4, 3, 2, 'ok', 1]
>>> List=[1,5,7,1111,2,1.5]
>>> sorted(List) #
有返回值,
List
本身不变
[1, 1.5, 2, 5, 7, 1111]
>>> List
[1, 5, 7, 1111, 2, 1.5]
>>> List.sort() #
就地操作,无返回值,结果保存到
List
本身
>>> List
[1, 1.5, 2, 5, 7, 1111]
list_a.sort(cmp=None, key=None, reverse=False)
:对
list_a
排序
key
:指定"取值函数"。取值函数带
1
个参数。
sort
方法从
list_a
中取出元素,作为
实参传递给取值函数,取值函数做些处理,再将处理后的返回值传递给比较
函数。
cmp
:指定"比较函数"。比较函数带
2
个参数。比较函数接收取值函数传送过来的
2
个参数,经过某种比较,返回比较结果(
-1, 0, 1
)。在写具体比较函数时,
往往会用到
python
内建函数"
cmp()
"
reverse:
指定为
True
时,将排序后序列顺序转置,否则无动作。