2012-10-15 59 views
7

我有一個腳本,我爲每個用戶提取值並添加到列表中,但我得到''NoneType'對象沒有屬性'追加「」。我的代碼就像附加列表,但錯誤'NoneType'對象沒有屬性'附加'

last_list=[] 
if p.last_name==None or p.last_name=="": 
    pass 
last_list=last_list.append(p.last_name) 
print last_list 

我想在列表中添加姓氏。如果沒有,那麼不要將它添加到列表中。請幫助 注:P是我使用的從我的模塊裏面有所有名字,姓氏,年齡等....請提示信息的對象....在此先感謝

+1

這是Python的?如果是這樣的話:添加標籤... – rene

+0

是的,它的Python – learner

回答

12

在做pan_list.append(p.last)你」重新進行就地操作,即修改對象並返回任何內容的操作(即None)。

你應該做這樣的事情:

last_list=[] 
if p.last_name==None or p.last_name=="": 
    pass 
last_list.append(p.last) # Here I modify the last_list, no affectation 
print last_list 
+0

糟糕。其實它的last_list = last_list.append(p.last_name) – learner

+1

@learner這會導致同樣的問題。 – cwallenpoole

+0

那麼我的代碼將在列表中添加last_name並跳過沒有或空白的last_name?請建議 – learner

2

我想你想要的是這樣的:

last_list=[] 
if p.last_name != None and p.last_name != "": 
    last_list.append(p.last_name) 
print last_list 

您當前的if語句:

if p.last_name == None or p.last_name == "": 
    pass 

有效從來沒有做任何事情。如果p.last_name是none或空字符串,它在循環內不做任何事情。如果p.last_name是別的,則會跳過if語句的主體。

此外,它看起來像你的聲明pan_list.append(p.last)是一個錯字,因爲我看到既沒有pan_list也沒有p.last在您發佈的代碼中的任何其他地方使用。

+0

那麼我的代碼將在列表中添加last_name並跳過none或空白last_name?請建議 – learner

+0

感謝所有..其工作:) – learner

6

列表是可變的

變化

last_list=last_list.append(p.last_name) 

last_list.append(p.last_name) 

將工作

+0

爲什麼不更換線路工作? – alds

相關問題