In [4]: %timeit l=range(10000)l=[]
10000 loops, best of 3: 115 �0�8s per loop
In [5]: %timeit l=range(10000)del l[:]
10000 loops, best of 3: 107 �0�8s per loop
In [6]: %timeit l=range(10000)l=None
10000 loops, best of 3: 114 �0�8s per loop
所以从性能上来看,这几种删除方式都可以。
从功能上来讲,有一点区别:
1. l=[]和l=None是给l赋一个新的值,不影响原来数组的内容
In [1]: l=range(5)
In [2]: l2=l
In [3]: l2=None
In [4]: l
Out[4]: [0, 1, 2, 3, 4]
2. del l[:]则是删除了原数组的所有元素
In [5]: l2=l
In [6]: del l2[:]
In [7]: l
Out[7]: []
正常现象。python命令成功执行之后命令行运行代码都会被清空,并且会返回一个0来表示已经清空完毕。Python由荷兰数学和计算机科学研究学会的GuidovanRossum于1990年代初设计,作为一门叫做ABC语言的替代品。