1.clear的功能
一次性将当前列表中所有的数据清空。
2.clear的用法
target = [1,2,3,4,5,6]
target.clear()
print(target)
运行结果:
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/python_list/bin/python /Users/llq/PycharmProjects/pythonlearn/python_list/1.py
[]进程已结束,退出代码为 0
3.代码
例1:
# coding:utf-8mixs =['python',1,(1,),{'name':'dewei'}]
print(mixs,len(mixs))
mixs.clear()
print(mixs,len(mixs))
运行结果:
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/python_list/bin/python /Users/llq/PycharmProjects/pythonlearn/python_list/list_clear.py
['python', 1, (1,), {'name': 'dewei'}] 4
[] 0进程已结束,退出代码为 0
例2:
思考一个问题:一个列表使用clear函数和直接赋予一个空列表,它们是否相同?哪一个会更好呢?
# coding:utf-8mixs =['python',1,(1,),{'name':'dewei'}]
print(mixs,len(mixs))
mixs.clear()
print(mixs,len(mixs))mixs=[]
区别: 赋予一个新的列表,新的mixs列表的内存地址,和之前的mixs列表的内存地址就不一样了。所以是两个变量。
性能比较: 在定义一个变量的时候,其实最开始内存里是没有这样一个房间的。它可能只是一个空地,当我们要定义一个变量的时候,内存管家发现有这样一个空地。
于是盖了一个房子。让这个新的变量住了进去。当我们不使用这个变量之后,内存管家就将这个房间里的变量请了出去并且拆掉这个房子了。
所以一拆一盖还是需要消耗一些时间的。而clear函数,是在定义了变量,内存管家已经定义好了房间之后,对于变量进行操作。
操作的只是内存房间里的成员,不会涉及盖房拆房的过程。仅仅将成员请出去的成本肯定小于盖房拆房子的。
使用clear函数比直接重新给变量定义一个空列表,更节省性能。