2014-07-11 5 views
2

나는 특정 조건에 따라 다음python으로 목록에서 몇 가지 항목을 선택하는 방법은 무엇입니까?

log=[None]*4 

과 같은 시나리오는 내가 로그 목록에 없음 위치 중 하나에 값을 삽입하는거야 있습니다. 한다고 가정

log=[Begin,None,None,None] 

지금 난 단지

log=[Begin] 

를 얻기 위해 원하는 없음이없는 곳은이 작업을 수행하는 방법에 값 을 삽입 할 수 있습니다 때마다/내 코드에 따라 인덱스를 사용도하지 않는 것이. 나는 목록의 이해력을 시도했지만 'not in'이 그것으로 작동하지 않는다고 생각한다. 내가 제대로 이해하면

wal=[log[i] for i not in [None]] 

답변

4

, 당신은 None이없는 log의 요소의 목록을합니다.

mylist = [x for x in log if x is not None] 
: 당신이 당신의 새 목록에이 값을 원하는 부울 맥락에서 False로 평가 logNone 이외의 값이있을 수 있다면 당신은

mylist = [x for x in log if x] 

을 실행하여이 목록을 얻을 또는 수

데모 : :)

>>> log 
[None, '', None, 1] 
>>> [x for x in log if x] 
[1] 
>>> [x for x in log if x is not None] 
['', 1] 
+0

큰이 일하고있다. 고마워요 !! – user3787457

+0

@ user3787457 안녕하세요. – timgeb

관련 문제