list = [1,2,3,4,5] list.clear()和我声明list = []有什么区别

时间:2018-12-05 06:13:05

标签: python python-3.x

list = [1,2,3,4,5]
list.clear()
print(list)

O/P : [ ]

list = [1,2,3,4,5]
list=[]
print(list)
O/P : [ ]

两种情况下我都得到相同的输出。那么这两者有什么区别?

1 个答案:

答案 0 :(得分:4)

clear()将保留相同的引用,但清空列表。 []创建一个新列表并将其分配给变量。

示例:

>>> a = [1,2,3]
>>> b = a
>>> a is b
True
>>> a.clear()
>>> a is b
True
>>> a = []
>>> a is b
False

请注意,ab在清除后仍然是相同的对象,但是在为a分配新列表后却是不同的对象。