Python에서 조건부로 목록 값 바꾸기
목록으로 작업할 때 특정 조건에 따라 값을 수정해야 하는 경우가 많습니다. 일반적인 작업 중 하나는 조건이 True로 평가되는 경우 값을 None으로 바꾸는 것입니다.
List Comprehension을 사용한 솔루션
이를 수행하는 가장 효율적인 방법은 List Comprehension을 사용하는 것입니다. .
<code class="python">new_items = [x if x % 2 else None for x in items]</code>
여기서 items는 원래 목록이고 x % 2는 항목이 짝수인지 확인합니다. true인 경우 항목을 없음으로 대체합니다. 그렇지 않으면 원래 값을 유지합니다.
내부 수정
원본 목록을 내부에서 수정하는 것은 가능하지만 효율성상의 이유로 권장되지 않습니다.
<code class="python">for index, item in enumerate(items): if not (item % 2): items[index] = None</code>
이 접근 방식을 사용하려면 전체 목록을 두 번 반복해야 하며, 큰 목록의 경우 비용이 많이 들 수 있습니다.
타이밍 비교
두 접근 방식 벤치마킹 특히 큰 목록의 경우 목록 이해가 훨씬 더 빠르다는 것을 보여줍니다.
Python 3.6.3:
(In-place) 1.06 µs ± 33.7 ns per loop (List comprehension) 891 ns ± 13.6 ns per loop
Python 2.7.6:
(In-place) 1.27 µs per loop (List comprehension) 1.14 µs per loop
위 내용은 Python에서 조건부로 목록 값을 바꾸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!