2013-10-31 4 views

답변

2

삭제하지 않는 시퀀스를 반복하는 경우 열거하지 않고 삭제하지 않습니다 (특히). 슬라이스 - 목록 이해력을 대신 할당하십시오.

for v in data.itervalues(): 
    v['events'][:] = [e for e in v['events'] if e['displayed']] 
+0

감사합니다. 그러나'.itervalues ​​()'를 사용하면 얻을 수 있습니다.''list '객체에는'itervalues ​​'속성이 없습니다. 그리고 질문, 슬라이스를 할당하는 것이 왜 더 좋은가? 더 빨리 처리 되나요? – Diolor

+0

@Diolor'itervalues ​​()'는 python2 구문입니다. 그것은 python3에서 단지'values ​​()'입니다. – roippi

+0

@ Diolor : 질문의 구조가 정확합니까? 원래 값의 위치가 무엇인지 신경 쓸 필요가 없으므로 할당을 분할합니다. –

관련 문제