Python Comprehensions에 대한 짧은 안내서

파이썬은 나를 놀라게 하기 위해 멈추지 않습니다. 나는 현재 이해력을 탐구하고 있으며 그것에 대한 몇 가지 팁을 공유하기로 결정했습니다.
이것은 우리가 한 줄에 표현적인 코드를 작성할 수 있게 해주는 흥미롭고 강력한 기능입니다. Comprehension은 이미 정의된 시퀀스를 사용하여 새로운 시퀀스(목록, 사전, 집합...)를 만듭니다.

목록 이해는 for 루프를 대체하는 데 사용할 수 있습니다.

짝수의 제곱 목록을 만들고 싶다고 가정합니다. 가장 먼저 떠오르는 것은 아래와 같은 for 루프를 사용하는 것입니다.

#Iterating over a list using for loop
new_list = []
for n in range(10):
      if n % 2 == 0:
         new_list.append(n**2)
print(new_list)

#output
[0, 4, 16, 36, 64]

한 줄의 코드로 다시 작성하는 방법을 살펴보겠습니다.

#Iterating over a list using list comprehension
new_list = [n ** 2 for n in range(10) if n % 2 == 0]
print(new_list)

#output
[0, 4, 16, 36, 64]

List Comprehension의 기본 형식은 다음과 같이 구성됩니다.new_list = [expression for item in list]
이 예에서는 조건부 논리가 다음과 같은 경우를 사용했습니다.new_list = [expression for item in list (if conditional)]
Dictionary Comprehension도 비슷하지만 사전을 생성하려면 key:value 쌍이 필요합니다.

#Dictionary Comprehension
new_dict = {n: n ** 2 for n in range(10) if n % 2 == 0}
print(new_dict)

#output
{0: 0, 2: 4, 4: 16, 6: 36, 8: 64}

덜 인기 있는 것은 Set Comprehension으로 비슷한 방식으로 작동합니다. 집합을 반환합니다. 이는 내부 요소에 중복이 있을 수 없음을 의미합니다.

#Set Comprehension
numbers = [10, 10, 20, 30, 12, -20]
new_set = {n**2 for n in numbers}
print(new_set)

#output
{100, 144, 400, 900}

목록 이해는 우아한 코드를 작성하는 데 도움이 될 수 있지만 때로는 올바른 선택이 아닙니다. 최종 코드를 읽을 수 있도록 긴 목록 이해를 한 줄로 작성하는 것을 피해야 합니다. 그렇지 않으면 대체 접근 방식을 선택하는 것이 좋습니다.

Comprehensionshere에 대해 자세히 알아볼 수 있습니다.

좋은 웹페이지 즐겨찾기