append直接增加,增加的内容在新列表保持维度不变。实质为增加列表的引用
而+和extend则将增加的内容直接增加到列表尾部,并去除一个维度,但+不会改变这2个列表。实质为解列表的引用,把列表每个元素增加到尾部,但是元素本身是引用,则不会再深入一层处理,因此只能解引用到第一层。
相当于以下处理
myhaspl@myhaspl-ai ~]$ python
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x=[[1,2,3],[4,5,6]]
>>> len(x)
2
>>> y=[]
>>> z=[[]]
>>> len(y)
0
>>> len(z)
1
>>> if len(y)==0:
... print("空列表")
...
空列表
>>> if y==[]:
... print("空列表")
...
空列表
>>>
>>> x=[1,2,3,4,1,1,3,2]
>>> x.count(1)
3
>>> x.count(2)
2
>>> x.count(0)
0
>>> x.count(4)
1