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에 대해 자세히 알아볼 수 있습니다.
Reference
이 문제에 관하여(Python Comprehensions에 대한 짧은 안내서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/highflyer910/a-short-guide-to-python-comprehensions-2561텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)