【Python学习笔记】python列表方法

在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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值