리스트 컴프리헨션(List Comprehension)
리스트 컴프리헨션은 파이썬에서 리스트를 간결하고 직관적으로 생성하는 문법이다. 기존의 for 반복문과 if 조건문을 한 줄로 작성할 수 있어 코드 가독성을 높이는 데 유용하다.
기본 문법
[표현식 for 항목 in 반복 가능한 객체 if 조건]
- 표현식: 리스트의 각 항목이 될 값을 정의한다
- 항목: 반복할 변수 이름
- 반복 가능한 객체: 리스트, 문자열, 튜플 등의 이터러블 객체
- 조건 (선택적): 항목을 필터링할 조건을 설정할 수 있다. 조건을 만족하는 항목만 리스트에 추가된다
예시 1: 간단한 리스트 생성
1부터 5까지의 숫자 리스트 만들기
numbers = [x for x in range(1, 6)]
예시 2: 조건을 포함한 리스트 생성
even_number = [x for x in range(1, 11) if x % 2 == 0]
예시 3: 표현식에 수식 적용
표현식 부분에 수식을 넣어 각 요소를 변경하면서 리스트를 생성할 수 있다
squares = [x**2 for x in range(1, 6)]
# squares = [1, 4, 9, 16, 25]
예시 4: 중첩 리스트 컴프리헨션
2차원 리스트를 생성할 때 중첩 리스트 컴프리헨션을 사용할 수 있다
matrix = [[i * j for j in range(1, 4)] for i in range (1, 4)]
# matrix = [[1, 2, 3], [2, 4, 6], [3, 6, 9]
장점과 유의사항
- 장점: 리스트 컴프리헨션은 코드가 간결해지고, 가독성이 높아진다
- 유의사항: 지나치게 복잡한 리스트 컴프리헨션은 가독성을 떨어뜨릴 수 있으므로, 복잡한 로직은 일반적인 for 문으로 구현하는 것이 더 좋다.
'Python > 기본' 카테고리의 다른 글
[Python] sorted() 함수 (0) | 2024.11.09 |
---|---|
[Python] 제너레이터 표현식 (0) | 2024.11.09 |
[Python] match (0) | 2024.11.08 |
[Python] max(), min() 함수 (0) | 2024.11.07 |
[Python] defaultdict 사용하기 (1) | 2024.11.02 |