2024-04-26 21:14:56 发布
网友
当您想要清除Python中的列表时,有没有理由做比这两行中的一行更复杂的事情?
old_list = [] old_list = list()
我问的原因是我刚在运行代码中看到这个:
del old_list[ 0:len(old_list) ]
执行alist = []不会清除列表,只会创建一个空列表并将其绑定到变量alist。如果旧列表具有其他变量绑定,则它仍将存在。
alist = []
alist
要在适当的位置清除列表,可以使用以下任何方法:
alist.clear() # Python 3.3+, most obvious
del alist[:]
alist[:] = []
alist *= 0 # fastest
有关详细信息,请参见Mutable Sequence Types文档页。
有一种非常简单的方法可以清除python列表。使用del list_name[:]。
例如:
>>> a = [1, 2, 3] >>> b = a >>> del a[:] >>> print a, b [] []
清除一个列表将影响同一列表的所有其他引用。
例如,此方法不影响其他引用:
>>> a = [1, 2, 3] >>> b = a >>> a = [] >>> print(a) [] >>> print(b) [1, 2, 3]
但这一个确实:
>>> a = [1, 2, 3] >>> b = a >>> del a[:] # equivalent to del a[0:len(a)] >>> print(a) [] >>> print(b) [] >>> a is b True
你也可以:
>>> a[:] = []
执行
alist = []
不会清除列表,只会创建一个空列表并将其绑定到变量alist
。如果旧列表具有其他变量绑定,则它仍将存在。要在适当的位置清除列表,可以使用以下任何方法:
alist.clear() # Python 3.3+, most obvious
del alist[:]
alist[:] = []
alist *= 0 # fastest
有关详细信息,请参见Mutable Sequence Types文档页。
有一种非常简单的方法可以清除python列表。使用del list_name[:]。
例如:
清除一个列表将影响同一列表的所有其他引用。
例如,此方法不影响其他引用:
但这一个确实:
你也可以:
相关问题 更多 >
编程相关推荐