当前位置:   article > 正文

Python 集合 remove()函数使用详解,删除集合中的元素,删除多个元素_集合remove

集合remove

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:小白零基础《Python入门到精通》

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

语法

set.remove( element )
  • 1

参数

  • element :(必选)需要删除的元素

返回值

  • None,没有返回值,只修改原数组。

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

set1 = {1, 2, 3, 4, 5}

set1.remove(2)
print(set1)
  • 1
  • 2
  • 3
  • 4

输出:

{1, 3, 4, 5}
  • 1

从伪源码(Python的内置函数看不到源码,只能看到函数的描述)中可以看到, remove() 可以「删除」一个元素;但这个元素必须「存在」,不存在就会报错 KeyError

在这里插入图片描述


1、删除多个元素

remove() 只接收「一个参数」,这意味着一次只能删除「一个元素」;删除多个元素会报错 TypeError: remove() takes exactly one argument

set1.remove(1, 2)
  • 1

在这里插入图片描述

不过,我们可以配合「循环」,删除集合中的“小集合”

set1 = {1, 2, 3, 4, 5, 6}
set2 = {1, 2, 3}

for i in set2:
    set1.remove(i)

print(set1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

输出:

{4, 5, 6}
  • 1

2、删除不存在的元素会报错

remove() 删除集合中「不存在」的元素时,会报错 KeyError

set1 = {1, 2, 3, 4, 5}
set1.remove(6)
  • 1
  • 2

输出:

在这里插入图片描述


3、删除的元素可以是任意类型

remove() 删除的元素可以是「任意类型」,前提是集合可以存储这种类型,比如 整形、字符串、元组。

set1 = {1, 'str', (1, 2)}
set1.remove(1)
set1.remove('str')
set1.remove((1, 2))

print(set1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

输出:

set()

  • 1
  • 2

4、remove()和discard()的区别?

remove() discard() 用法相同,都可以删除集合中的指定元素,但 remove() 删除不存在的元素会报错,而 discard() 不会报错。

不确定集合中是否存在该元素时,使用 discard()

set1 = {1, 2, 3}

set1.discard(9)
print(set1)
  • 1
  • 2
  • 3
  • 4

输出:

{1, 2, 3}
  • 1

确定集合中存在该元素时,使用 remove()

set1 = {1, 2, 3}

set1.remove(9)
print(set1)
  • 1
  • 2
  • 3
  • 4

输出:

Traceback (most recent call last):
  File "C:\Users\dell\PycharmProjects\pythonProject1\test1.py", line 3, in <module>
    set1.remove(9)
KeyError: 9
  • 1
  • 2
  • 3
  • 4

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/110808
推荐阅读
相关标签
  

闽ICP备14008679号