.discard(x)
:此操作从集合中删除元素。
如果element不存在,则不会引发KeyError。
.remove(x)
:此操作从集合中删除元素。
如果element不存在,则会引发KeyError。
所以我的问题是,使用remove(x)
函数的原因在哪里,因为它可以通过擦除错误导致程序出现问题。我觉得这是无用的功能,因为discard(x)
做了完全相同的事情而没有对我们的程序造成任何不可预测的行为。
答案 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)))