说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
Python 的内置可变容器对象的 clear() 方法,从容器中移除所有项 ()。此方法 必须是一个可变容器类型, 支持列表(list)、字节数组(bytearray)、字典(dict)和集合(set)等类型。
以下是一些使用方法:
lst = [1, 2, 3]
bta = bytearray(b'abc')
dct = {'a': 1, 'b': 2}
st = {1, 2, 3}
lst.clear()
bta.clear()
dct.clear()
st.clear()
lst # []
bta # bytearray(b'')
dct # {}
st # set()
可变容器类型的 clear() 它的语法为:
s.clear() # 通用语法
list.clear() # 列表
bytearray.clear() # 字节数组
dict.clear() # 字典
set.clear() # 集合
从对象中移除所有项 (等同于 del s[:] 和 s[:] = []
)。
包括 clear() 和 copy() 是为了与不支持切片操作的可变容器 (例如 dict 和 set) 的接口保持一致。 copy() 不是 collections.abc.MutableSequence
ABC 的一部分,但大多数具体的可变序列类都提供了它。
3.3 新版功能: clear() 和 copy() 方法。
clear() 是一个原地操作(inplace,见 原地操作), 执行时会直接修改对象返回的是一个 None。
s.clear()
等同于 del s[:]
和 s[:] = []
,但不是 del s
,即只清空容器里的内容,而不会将容器对象删除。测试如下:
s = [1, 2, 3]
s.clear()
s
# []
s2 = [1, 2, 3]
del s[:]
s
# []
s3 = [1, 2, 3]
del s3
s3
# NameError: name 's3' is not defined
对序列中的切片子序列进行 clear() 操作,不能对原序列起作用:
s4 = [1, 2, 3]
s4[:2].clear()
s4
# [1, 2, 3]
更新时间:2022-06-23 20:48:12 标签:python clear 清空 窗口