2

使用时如何解决此错误.pop?我知道当它尝试返回一个数字但没有一个错误时会引发错误,但是你如何绕过它以使程序继续运行?

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

3 回答 3

6

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

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

或者,KeyError通过try/except

try:
    self.members.pop()
except KeyError:
    # do smth
于 2013-09-22T19:08:12.667 回答
2

您可以使用try/except来捕获KeyErrorraise by an_empty_set.pop(),或先检查集合以确保它不为空:

if s:
    value = s.pop()
else:
    # whatever you want to do if the set is empty
于 2013-09-22T19:08:59.083 回答
0

单线解决方案

res = self.members.pop() if self.members else None
于 2018-06-21T08:21:31.380 回答