python 的列表是一种非常灵活的数据结构,相对于字符串和元组,其是可变的灵活的容器,可以包含python的标准类型和用户定义的对象,并且同一个列表中的对象可以是不同类型,列表的元素可以是列表。
那么我们看下python的列表长什么样子,都有哪些属性?
In [1]: L = ['a', 'b', 'c', 1, 2, 3] #声明
In [2]: L. #列表的属性
L.append L.extend L.insert L.remove L.sort
L.count L.index L.pop L.reverse
In [2]: L
Out[2]: ['a', 'b', 'c', 1, 2, 3]
list.append(obj):向列表中追加元素obj
list.count(obj):返回obj在列表中出现的次数
list.extend(seq):将序列seq的内容添加到列表中,[ ]里的元素会分别添加
list.index(obj,i=0,j=len(list)):返回obj在i与j之间的索引值,不存在会报错
list.insert(index,obj):在index的位置插入obj(index方法对于不存在的元素会报错,可用in判断后使用)
list.pop(index=-1):删除并且返回指定位置的对象,默认是最后一个对象
list.remove(obj):删除对象obj,没有返回值
list.reverse():序列逆序
下面是一些实例应用:
In [5]: L
Out[5]: ['a', 'b', 'c', 1, 2, 3]
In [6]: L.append(4)
In [7]: L
Out[7]: ['a', 'b', 'c', 1, 2, 3, 4]
In [8]: L + ['A','B'] #不修改原列表
Out[8]: ['a', 'b', 'c', 1, 2, 3, 4, 'A', 'B']
In [9]: L
Out[9]: ['a', 'b', 'c', 1, 2, 3, 4]
In [10]: L.append(['A','B'])
In [11]: L
Out[11]: ['a', 'b', 'c', 1, 2, 3, 4, ['A', 'B']]
In [12]: L.extend(['C','D']) #区别于append,这里是分别追加列表里的元素
In [13]: L
Out[13]: ['a', 'b', 'c', 1, 2, 3, 4, ['A', 'B'], 'C', 'D']
In [14]: L.index('a')
Out[14]: 0
In [15]: L.index('a',1,5) #在指定索引范围内没有结果会报错
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-15-8c7104cd862f> in <module>()
----> 1 L.index('a',1,5)
ValueError: 'a' is not in list
In [16]: L.index('a',0,5)
Out[16]: 0
In [18]: L.insert(0,'add')
In [19]: L
Out[19]: ['add', 'a', 'b', 'c', 1, 2, 3, 4, ['A', 'B'], 'C', 'D']
In [20]: L.insert(0,['x','y'])
In [21]: L
Out[21]: [['x', 'y'], 'add', 'a', 'b', 'c', 1, 2, 3, 4, ['A', 'B'], 'C', 'D
In [22]: L.pop
Out[22]: <function pop>
In [23]: L.pop()
Out[23]: 'D'
In [24]: L
Out[24]: [['x', 'y'], 'add', 'a', 'b', 'c', 1, 2, 3, 4, ['A', 'B'], 'C']
In [25]: L.pop(0)
Out[25]: ['x', 'y']
In [26]: L
Out[26]: ['add', 'a', 'b', 'c', 1, 2, 3, 4, ['A', 'B'], 'C']
In [27]: L.remove('C') #相比POP,这里是直接删除列表元素,没有返回值
In [28]: L
Out[28]: ['add', 'a', 'b', 'c', 1, 2, 3, 4, ['A', 'B']]
In [29]: L.reverse()
In [30]: L
Out[30]: [['A', 'B'], 4, 3, 2, 1, 'c', 'b', 'a', 'add']
In [31]: L
Out[31]: [['A', 'B'], 4, 3, 2, 1, 'c', 'b', 'a', 'add']
In [32]: L.count('a')
Out[32]: 1
In [33]: L.append('a')
In [34]: L.count('a')
Out[34]: 2