Python集合中remove()函数的使用方法详解
作者:士别三日wyx
remove() 可以「删除」集合中的指定「元素」
语法
set.remove( element )
参数
- element :(必选)需要删除的元素
返回值
- None,没有返回值,只修改原数组。
实例:删除集合中的指定元素
set1 = {1, 2, 3, 4, 5} set1.remove(2) print(set1)
输出:
{1, 3, 4, 5}
从伪源码(Python的内置函数看不到源码,只能看到函数的描述)中可以看到, remove() 可以「删除」一个元素;但这个元素必须「存在」,不存在就会报错 KeyError
1、删除多个元素
remove() 只接收「一个参数」,这意味着一次只能删除「一个元素」;删除多个元素会报错 TypeError: remove() takes exactly one argument
set1.remove(1, 2)
不过,我们可以配合「循环」,删除集合中的“小集合”
set1 = {1, 2, 3, 4, 5, 6} set2 = {1, 2, 3} for i in set2: set1.remove(i) print(set1)
输出:
{4, 5, 6}
2、删除不存在的元素会报错
remove() 删除集合中「不存在」的元素时,会报错 KeyError
set1 = {1, 2, 3, 4, 5} set1.remove(6)
输出:
3、删除的元素可以是任意类型
remove() 删除的元素可以是「任意类型」,前提是集合可以存储这种类型,比如 整形、字符串、元组。
set1 = {1, 'str', (1, 2)} set1.remove(1) set1.remove('str') set1.remove((1, 2)) print(set1)
输出:
set()
4、remove()和discard()的区别?
remove() 和 discard() 用法相同,都可以删除集合中的指定元素,但 remove() 删除不存在的元素会报错,而 discard() 不会报错。
不确定集合中是否存在该元素时,使用 discard()
set1 = {1, 2, 3} set1.discard(9) print(set1)
输出:
{1, 2, 3}
确定集合中存在该元素时,使用 remove()
set1 = {1, 2, 3} set1.remove(9) print(set1)
输出:
Traceback (most recent call last):
File "C:\Users\dell\PycharmProjects\pythonProject1\test1.py", line 3, in <module>
set1.remove(9)
KeyError: 9
到此这篇关于Python集合中remove()函数的使用方法详解的文章就介绍到这了,更多相关Python集合remove()函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!