列表的方法
>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
除去带有双下划线的,主要有以下几个方法:
'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'
可以通过 help 来查看各个方法的使用方法。
>>> help(list.append)
Help on method_descriptor:
append(...)
L.append(object) -- append object to end
下边对各个方法进行举例说明:
append
在队列末尾追加新的对象:
>>> lst = [1,2,3]
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]
count
统计某个元素在列表中出现的次数
>>> lst = [1,2,3,4,5,6,7,8,2,3,4,5,6]
>>> lst.count(4)
2
extend
在列表的末尾一次性追加另一个序列。
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
和连接操作+
不同的是,extend
会直接在原队列上修改,+
连接操作会生成新的列表
index
从列表中找出某个值第一个匹配项的索引位置
>>> lst = [3,3,3,4,5,6,4]
>>> lst.index(4)
3
insert
将对象插入到列表中
>>> lst = [3,3,3,4,5,6,4]
>>> lst.insert(3,"hi")
>>> lst
[3, 3, 3, 'hi', 4, 5, 6, 4]
pop
移除列表中的一个元素(默认是最后一个),并返回该元素的值
>>> lst
[3, 3, 3, 4, 5, 6, 4]
>>> lst.pop()
4
>>> lst
[3, 3, 3, 4, 5, 6]
>>> lst.pop(4)
5
>>> lst
[3, 3, 3, 4, 6]
remove
移除列表中某个值得第一个匹配项
>>> lst = ["a","a","b","b"]
>>> lst.remove("a")
>>> lst
['a', 'b', 'b']
reverse
将列表中的元素反向存放
>>> lst
['a', 'b', 'b']
>>> lst.reverse()
>>> lst
['b', 'b', 'a']
可以使用lst[::-1]
来实现反转
sort
在原位置对列表进行排序,意味着直接改变原来的列表。
>>> lst
['b', 'b', 'a']
>>> lst.sort()
>>> lst
['a', 'b', 'b']
如果我们需要一个排序一个列表,但是保留原有列表时,就要注意了,下边这种方式是有问题的
>>> x = [1,2,3,4]
>>> y = x.sort()
>>> print y
None
正确的方法是:
>>> x = [4,3,2,1]
>>> y = x[:]
>>> y.sort()
>>> x
[4, 3, 2, 1]
>>> y
[1, 2, 3, 4]
还可以使用sorted()
来实现,不会改变原有列表
>>> x = [4,3,2,1]
>>> y = sorted(x)
>>> x
[4, 3, 2, 1]
>>> y
[1, 2, 3, 4]
网友评论