为什么在python中有.discard(elem)时使用.remove(elem)?

时间:2018-06-03 10:28:54

标签: python

.discard(x):此操作从集合中删除元素。 如果element不存在,则不会引发KeyError。

.remove(x):此操作从集合中删除元素。 如果element不存在,则会引发KeyError。

所以我的问题是,使用remove(x)函数的原因在哪里,因为它可以通过擦除错误导致程序出现问题。我觉得这是无用的功能,因为discard(x)做了完全相同的事情而没有对我们的程序造成任何不可预测的行为。

1 个答案:

答案 0 :(得分:4)

有时错误很有用。您可以使用try: except:来捕获这些错误,并根据该段代码是否导致错误执行不同的操作。例如:

try:
    list.remove(elem)
    print("Item removed!")
except KeyError as e:
    print("Sorry, that item was not in the set. More information: %s".format(str(e)))