0
반복합니다. 데이터의 각 객체에는 '이벤트'배열이 있습니다. 그 중 내가 삭제하고자하는 객체는 display == false
입니다.최적화를 두 번 열거는이 코드를 최적화 할
반복합니다. 데이터의 각 객체에는 '이벤트'배열이 있습니다. 그 중 내가 삭제하고자하는 객체는 display == false
입니다.최적화를 두 번 열거는이 코드를 최적화 할
삭제하지 않는 시퀀스를 반복하는 경우 열거하지 않고 삭제하지 않습니다 (특히). 슬라이스 - 목록 이해력을 대신 할당하십시오.
for v in data.itervalues():
v['events'][:] = [e for e in v['events'] if e['displayed']]
감사합니다. 그러나'.itervalues ()'를 사용하면 얻을 수 있습니다.''list '객체에는'itervalues '속성이 없습니다. 그리고 질문, 슬라이스를 할당하는 것이 왜 더 좋은가? 더 빨리 처리 되나요? – Diolor
@Diolor'itervalues ()'는 python2 구문입니다. 그것은 python3에서 단지'values ()'입니다. – roippi
@ Diolor : 질문의 구조가 정확합니까? 원래 값의 위치가 무엇인지 신경 쓸 필요가 없으므로 할당을 분할합니다. –