>  기사  >  백엔드 개발  >  Python에서 조건부로 목록 값을 바꾸는 방법은 무엇입니까?

Python에서 조건부로 목록 값을 바꾸는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-17 18:23:31765검색

How to Replace List Values Conditionally in Python?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.