Python의 목록 이해력은 기존 목록 또는 기타 반복성을 기반으로 목록을 작성하는 간결하고 강력한 방법입니다. 루프와 조건부 명령문을 단일 읽기 가능한 코드 라인으로 결합 할 수 있습니다. 목록 이해력의 기본 구문은 다음과 같습니다.
<code class="python">new_list = [expression for item in iterable if condition]</code>
작동 방식은 다음과 같습니다.
iterable
각 item
으로하고 싶은 것입니다. 항목에 2를 곱하거나 더 복잡한 작업과 같은 간단한 작업 일 수 있습니다.iterable
항목에서 항목을 필터링하는 데 사용됩니다. 항목의 경우 조건이 참이면 expression
적용됩니다.다음은 목록 이해의 예입니다.
<code class="python"># Traditional way numbers = [1, 2, 3, 4, 5] squared_numbers = [] for num in numbers: squared_numbers.append(num ** 2) # Using list comprehension squared_numbers = [num ** 2 for num in numbers]</code>
두 방법 모두 동일한 결과를 달성하지만 목록 이해력은 더욱 간결하게됩니다.
목록 이해력은 여러 가지 방법으로 파이썬 코드의 효율성을 향상시킬 수 있습니다.
다음은 성능을 비교하는 예입니다.
<code class="python">import timeit # List comprehension list_comp_time = timeit.timeit('[x**2 for x in range(1000)]', number=10000) print(f"List comprehension time: {list_comp_time}") # Traditional for loop for_loop_time = timeit.timeit(''' numbers = [] for x in range(1000): numbers.append(x**2) ''', number=10000) print(f"For loop time: {for_loop_time}")</code>
이 코드를 실행하면 종종 목록 이해력이 더 빠릅니다.
목록 이해는 다재다능하며 많은 시나리오에서 사용할 수 있습니다. 일부 일반적인 사용 사례는 다음과 같습니다.
목록 변환 : 목록 이해력을 사용하여 목록의 요소를 변환 할 수 있습니다. 예를 들어, 문자열 목록을 대문자로 변환합니다.
<code class="python">original_list = ["apple", "banana", "cherry"] upper_list = [fruit.upper() for fruit in original_list]</code>
필터링 목록 : 조건에 따라 요소를 필터링 할 수 있습니다. 예를 들어 목록에서 짝수 만 선택하십시오.
<code class="python">numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] even_numbers = [num for num in numbers if num % 2 == 0]</code>
다른 반복에서 목록 작성 : 목록 포괄적 인 튜플 또는 세트와 같은 다른 반복에서 목록을 만들 수 있습니다.
<code class="python">tuple_data = (1, 2, 3, 4, 5) new_list = [x * 2 for x in tuple_data]</code>
중첩 된 목록 이해 : 중첩 목록 포괄적으로 사용하여 목록 목록을 평평하게하거나보다 복잡한 작업을 수행 할 수 있습니다.
<code class="python">matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] flat_list = [num for row in matrix for num in row]</code>
조건부 논리 : 조건부 논리를 통합하여 조건에 따라 다른 변환을 적용 할 수 있습니다.
<code class="python">numbers = [1, -2, 3, -4, 5] absolute_values = [abs(num) if num </code>
"목록 이해력"이라는 용어는 구체적으로 목록을 작성하는 것을 의미하지만 개념은 Python의 다른 데이터 구조로 확장 될 수 있습니다. 다른 데이터 구조와 유사한 구문을 사용하는 방법은 다음과 같습니다.
이해 세트 : SET COMPREHENSIONS CORLY BRACE {}
[]
브래킷 대신 사용하고 세트를 반환합니다.
<code class="python">numbers = [1, 2, 3, 4, 5, 5, 6] unique_squares = {x**2 for x in numbers}</code>
사전 이해 : 사전 이해력은 사전을 만듭니다. 그들은 곱슬 버팀대 {}
와 콜론을 사용합니다 :
키와 값을 분리합니다.
<code class="python">original_dict = {'a': 1, 'b': 2, 'c': 3} doubled_dict = {key: value * 2 for key, value in original_dict.items()}</code>
발전기 표현식 : 발전기 표현식은 목록 이해와 유사하지만 사각형 브래킷 대신 괄호 ()
를 사용합니다 []
. 그들은 날짜에 값을 생성하고 메모리에 저장하지 않습니다.
<code class="python">numbers = [1, 2, 3, 4, 5] squares_gen = (x**2 for x in numbers) for square in squares_gen: print(square)</code>
목록 이해력은 특히 목록에 대한 것이지만, 이러한 관련 구성을 사용하면 다른 데이터 구조에 유사한 구문을 사용할 수 있으므로 유사한 방식으로 코드 가독성과 효율성을 향상시킬 수 있습니다.
위 내용은 Python의 목록 이해력은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!