4

. 그것은 작동하지만, 내가 이해하지 못하는 이상한 결과를줍니다.목록 이해 복귀 [없음, 없음, 없음 ...] 내가 IPython 노트북에서 지능형리스트를 사용하여 열거 된 문자열 목록을 생성하기 위해 찾고 있어요

cols = [] 
[cols.append('Value'+str(hour)) for hour in xrange(1,25)] 

셀을 실행 한 후, cols 적절한 목록 [Value1,Value2...Value24]을 반환하지만 내 노트북에서, 나는 24 None의 출력 목록이 표시됩니다. Example photo

코드는 작동하지만 이상한 출력은 제가 뭔가 잘못 것 같은 느낌, 그것은 실수 보인다. 왜 내가이 결과물을 얻고 그것을 제거 할 수있는 방법이 있습니까?

+1

음,'cols.append'는 무엇을 반환합니까? '없음'맞지? 당신의'None's이 어디에서 오는지 그래서 : 당신은()'목록, 24 회에 cols.append'의 결과를 넣어 파이썬 말했다. – kindall

+0

목록 이해가 새로운 목록을 만들기 때문에. 귀하의 경우, 발생 append''의 반환 값의 목록은, 그것을 행한'None' – pvg

답변

2

당신이 목록에 표시되는 None들, 함수 호출 cols.append('Value'+str(hour)) 평가의 결과이다. 당신은 실제로 단지 append() 여러 번 평가에서 결과로 구성되어, 그들이 추가 얻을 때문에 오른쪽 항목이 cols을 발생하지만, 목록이 목록 이해 방법에서 생성되는 참조하십시오.

대신 코드 후, COLS 원하는 내용이 그래서, 첨부 된 값으로 cols을 반환하지 않습니다, cols = ['Value'+str(hour) for hour in xrange(1,25)]

+0

Alrighty 수 있습니다. 아마도 분명 했어야했는데 감사합니다! – Alex

2

cols.append(value)cols에 값을 추가하지만 None를 반환하려고하지만 당신은 그것을 할 수 더 나은이 :

cols = ['Value'+str(hour) for hour in xrange(1,25)]