KeyError:'从空集'弹出'python

时间:2013-09-22 19:05:49

标签: python set pop

使用.pop时如何解决此错误?当我试图返回一个数字但是没有一个错误被引发但我怎么解决它以便程序继续运行时我得到了它?

def remove_element(self,integer):
    self.integer = integer
    self.members.pop()

3 个答案:

答案 0 :(得分:4)

只需检查self.members是否为空:

if self.members:
    self.members.pop()

或通过KeyError抓住try/except

try:
    self.members.pop()
except KeyError:
    # do smth

答案 1 :(得分:2)

您可以使用try/except来抓住KeyError引发的an_empty_set.pop(),或首先检查该集以确保它不为空:

if s:
    value = s.pop()
else:
    # whatever you want to do if the set is empty

答案 2 :(得分:0)

单行解决方案

res = self.members.pop() if self.members else None