python 3集中的Discard()和Remove()函数有什么区别

rac*_*arg 9 python-3.x

我在Python 3中有一个丢弃和删除函数的代码.任何人都可以解释它的区别吗?

remove()函数:

num_set = set([0, 1, 2, 3, 4, 5])  
 num_set.remove(0)  
 print(num_set)  
o/p
{1, 2, 3, 4, 5} 
Run Code Online (Sandbox Code Playgroud)

discard()函数:

num_set = set([0, 1, 2, 3, 4, 5])  
 num_set.discard(3)  
 print(num_set)  
o/p:
{0, 1, 2, 4, 5}  
Run Code Online (Sandbox Code Playgroud)

Bru*_*res 17

来自docs:

remove(elem):elem从集合中删除元素.如果elem未包含在集合中,则引发KeyError .

discard(elem):elem如果元素存在,则从集合中删除元素.

那就是:remove引发错误,discard而不是.


dsh*_*dsh 5

参考文档很有用:

删除(元素)

Remove element elem from the set. Raises KeyError if elem is not contained in the set.
Run Code Online (Sandbox Code Playgroud)

丢弃(元素)

Remove element elem from the set if it is present.
Run Code Online (Sandbox Code Playgroud)

当元素不存在时,其中一个会引发异常,而另一个则不会。