2013-09-22 58 views
2

如何在使用.pop時解決此錯誤?我得知,當它試圖返回一個數字,但沒有一個提出錯誤,但你如何解決它,讓程序繼續運行?KeyError:'從空集彈出'python

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

回答

4

只是檢查是否self.members不爲空:

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

,或者抓KeyError通過try/except

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

更改爲'KeyError'。另外最好不要使用裸「except」(例如,它也會隱藏'AttributeError'等)。 –

+1

......並且實際上把'KeyError'放在'except'子句中:) –

2

您可以使用try/except趕上調an_empty_set.pop(),或檢查KeyError首先確定它不是空的:

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