2012-10-15 1 views
7

모든 사용자에 대해 값을 추출하고 목록에 추가하는 스크립트가 있지만 "NoneType '개체에'append '속성이 없습니다. ''. 내 코드는목록을 추가하고 있지만 'NoneType'오류 개체에는 'append'속성이 없습니다.

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

과 같이 목록에 추가하고 싶습니다. 그것의 아무도 그 후에 목록에서 그것을 추가하지 말라. 제발 도와주세요 참고 : p는 내가 first_name, last_name, age 등등을 가진 나의 모듈로부터 정보를 얻기 위해 사용하고있는 객체입니다. 제발 제안하십시오 .... 미리 감사드립니다.

+1

이 파이썬입니다 작동

변경

last_list=last_list.append(p.last_name) 

last_list.append(p.last_name) 

로 변경할 수있다? 그렇다면 : 태그를 추가하십시오 ... – rene

+0

예, 해당 Python – learner

답변

12

pan_list.append(p.last)을 할 때, (즉, None) 객체를 수정하고 아무 것도 반환하지 않는 오퍼레이션 인 인플레 이스 (inplace) 연산을 수행합니다. 아무것도하지 않을 효과적으로

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

:

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을 추가하고 none 또는 blank_name을 건너 뛰는 내 코드는 무엇입니까 ?? – learner

2

난 당신이 원하는 생각이있다 :

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

현재 if 문

은 당신이 뭔가를 할 것이다. p.last_name이 none 또는 빈 문자열이면 루프 내에서 아무 것도 수행하지 않습니다. p.last_name이 다른 경우 if 문의 본문을 건너 뜁니다.

또한 게시 된 코드의 다른 곳에서 사용되는 pan_list와 p.last를 볼 수 없기 때문에 문언 pan_list.append(p.last)은 오타입니다.

+0

을 제안하십시오. 목록에 last_name을 추가하고 none 또는 공백을 무시하는 코드는 무엇이겠습니까 ?? 제발 모두 – learner

+0

제안 해주세요. 그게 .. :) – learner

6

목록

+0

교체 된 라인이 작동하지 않는 이유는 무엇입니까? – alds

관련 문제