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

时间:2017-05-19 16:19:31

标签: 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} 

discard()函数:

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

2 个答案:

答案 0 :(得分:12)

来自docs

  

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

     

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

即:remove引发错误,discard没有。

答案 1 :(得分:2)

引用documentation

很有用
  

删除(ELEM)

Remove element elem from the set. Raises KeyError if elem is not contained in the set.
     

丢弃(ELEM)

Remove element elem from the set if it is present.

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