본문 바로가기
함수 설명/기본 및 범용

[Python] 리스트 컴프리헨션(List Comprehension) 활용 예제

by First Adventure 2025. 4. 13.
반응형

숫자 제곱 리스트 만들기

기본 사용법

squares = [x**2 for x in range(10)]

상세 설명

  • x2: 각 숫자 x의 제곱 값을 반환합니다.
  • for x in range(10): 0부터 9까지 반복하며 리스트를 만듭니다.

 

짝수만 필터링

기본 사용법

evens = [x for x in range(20) if x % 2 == 0]

상세 설명

  • x for x in range(20): 0부터 19까지 숫자를 반복합니다.
  • if x % 2 == 0: 짝수인 값만 리스트에 포함합니다.

 

문자열에서 대문자만 추출

기본 사용법

caps = [c for c in "AbCDefG" if c.isupper()]

상세 설명

  • for c in "AbCDefG": 문자열의 각 문자 c를 순회합니다.
  • if c.isupper(): 대문자인 경우만 리스트에 추가합니다.

 

조건부 값 할당 (if-else 사용)  

기본 사용법

labels = ["even" if x % 2 == 0 else "odd" for x in range(5)]

상세 설명

  • "even" if x % 2 == 0 else "odd": 짝수는 "even", 홀수는 "odd"로 표시합니다.
  • for x in range(5): 0부터 4까지의 숫자를 반복합니다.

 

이중 반복문 (쌍 만들기)

기본 사용법

pairs = [(x, y) for x in range(1, 3) for y in range(1, 4)]

상세 설명

  • for x in range(1, 3): 첫 번째 반복 (1, 2).
  • for y in range(1, 4): 두 번째 반복 (1, 2, 3).
  • (x, y): 두 반복의 모든 조합을 튜플로 만듭니다.

 

중첩 리스트 펼치기 (Flatten)

기본 사용법

flattened = [num for row in [[1, 2], [3, 4], [5, 6]] for num in row]

상세 설명

  • for row in [[1, 2], [3, 4], [5, 6]]: 각 서브리스트를 순회합니다.
  • for num in row: 각 서브리스트의 원소를 하나씩 꺼냅니다.
  • num: 모든 원소를 일렬로 리스트에 저장합니다.

 

문자열 길이 기준 필터링

기본 사용법

long_words = [word for word in ["apple", "hi", "banana", "ok"] if len(word) > 3]

상세 설명

  • for word in [...]: 단어 리스트를 순회합니다.
  • if len(word) > 3: 길이가 3보다 긴 단어만 필터링합니다.

 

라이센스

  Python의 표준 라이브러리와 내장 함수들은 Python Software Foundation License (PSFL) 하에 배포됩니다. 자세한 라이센스 내용은 Python 공식 라이센스 페이지에서 확인할 수 있습니다.

반응형