python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python集合remove()函数

Python集合中remove()函数的使用方法详解

作者:士别三日wyx

这篇文章主要给大家介绍了关于python集合中remove()函数的使用,以及在使用Python集合的remove方法时应注意的事项,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

remove() 可以「删除」集合中的指定「元素」

语法

set.remove( element )

参数

返回值

实例:删除集合中的指定元素

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()函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文