在python中list是一个有序的集合,可以随时添加和删除里边的元素
其初始化可以使用如下语句:
>>> a=[11,22,33,44,55,66]
>>>len(a)
6
如下为方法说明
1、append(x)
在list的尾部加入一个成员x:
>>> a=[11,22,33,44,55,66]
>>> a.append(33)
>>> a
[11, 22, 33, 44, 55, 66, 33]
2、extend(L)
接受一个新的列表L并将其加入当前列表的尾部
>>> a=[11,22,33,44,55,66]
>>> b=[1,2]
>>> a.extend(b)
>>> a
[66, 55, 44, 33, 22, 11, 1, 2]
>>>
3、insert(i,x)
特定位置i添加一个参数x
>>> a=[11,22,33,44,55,66,33]
>>> a.insert(1,88)
>>> a
[11, 88, 22, 33, 44, 55, 66, 33]
>>>
4、remove(x)
拿掉列表中第一个值等于x的成员
>>> a=[11,88,22,33,44,55,66,33]
>>> a.remove(88)
>>> a
[11, 22, 33, 44, 55, 66, 33]
>>>
5、pop([i])
拿掉列表中索引为i的成员,如果i未指定则拿掉最后一个成员,并返回被拿掉的成员(注意:i有个中括号意味着此参数为可选参数)
>>> a=[11,22,33,44,55,66,33]
>>> a.pop()
33
>>> a
[11, 22, 33, 44, 55, 66]
>>> a.pop(0)
11
>>> a
[22, 33, 44, 55, 66]
>>>
6、index(x)
返回列表中第一个值等于x的成员的索引,从0开始
>>> a=[11,22,33,44,55,66]
>>> a.index(11)
0
其实获取某个元素也可以不用这个方法,如下:
>>> b=[11,22,33,44,55]
>>> b[1]
22
这边编号从0开始,当然也可以使用负号索引,如下:
>>> b=[11,22,33,44,55]
>>> b[1]
22
>>> b[-1]
55
这里编号从-1开始,由于列表b只有五个元素,故如果输入b[-6]
就会报错了
7、count(x)
返回在整个列表中x出现的次数
>>> a=[11,22,33,44,55,66,33]
>>> a.count(11)
1
>>> a.count(33)
2
8、sort(cmp=None, key=None, reverse=False)
对列表中的元素就地进行排序
>>> a=[66,55,44,33,22,11,1,2]
>>> a.sort()
>>> a
[1, 2, 11, 22, 33, 44, 55, 66]
>>> a.sort(reverse=True)
>>> a
[66, 55, 44, 33, 22, 11, 2, 1]
参数reverse
为是否反转排序,即默认为false
为升序排列,反之则为降序排列;
参数cmp
为比较方法,在python3.0中,cmp
参数被彻底的移除了,从而简化和统一语言,减少了高级比较和__cmp__
方法的冲突。
在python2.x中cmp
参数指定的函数用来进行元素间的比较。此函数需要2个参数,然后返回负数表示小于,0表示等于,正数表示大于。例如:
>>> a=[5, 2, 4, 1, 3]
>>> def numeric_compare(x, y):
return x - y
>>> a.sort(cmp=numeric_compare)
[1, 2, 3, 4, 5]
key参数为比较关键字;
9、reverse()
反转整个list中成员的位置
>>> a=[11,22,33,44,55,66]
>>> a.reverse()
>>> a
[66, 55, 44, 33, 22, 11]
>>>
10、其他
你也可以把链表当做队列使用,队列作为特定的数据结构,最先进入的元素最先释放(先进先出)。不过,列表这样用效率不高。相对来说从列表末尾添加和弹出很快;在头部插入和弹出很慢(因为为了一个元素,要移动整个列表中的所有元素)。
要实现队列,使用 collections.deque
,它为在首尾两端快速插入和删除而设计。例如:
>>> from collections import deque
>>> queue = deque(["Eric", "John", "Michael"])
>>> queue.append("Terry") # Terry arrives
>>> queue.append("Graham") # Graham arrives
>>> queue.popleft() # The first to arrive now leaves
'Eric'
>>> queue.popleft() # The second to arrive now leaves
'John'
>>> queue # Remaining queue in order of arrival
deque(['Michael', 'Terry', 'Graham'])
http://www.runoob.com/manual/pythontutorial/docs/html/datastructures.html#tut-sets