728x90
반응형
리스트 내포(List Comprehension)
리스트 내포는 파이썬에서 간결하고 효율적인 리스트 생성을 가능하게 해주는 기능으로,
코드를 더욱 읽기 쉽고 간결하게 작성할 수 있습니다.
함께 살펴보도록 하겠습니다.
1. 리스트 내포란?
리스트 내포는 기존의 리스트를 기반으로 새로운 리스트를 생성하기 위한 방법입니다.
간단히 말해, 리스트를 생성하면서 동시에 조건문이나 반복문을 사용할 수 있습니다.
이를 통해 반복적인 작업을 효율적으로 처리할 수 있으며, 코드를 간결하게 작성할 수 있습니다.
2. 기본 문법
리스트 내포의 기본 문법은 다음과 같습니다.
new_list = [expression for item in iterable if condition]
위의 문법에서 각각의 요소는 다음과 같은 의미를 가지고 있습니다.
- new_list
- 새로운 리스트를 저장할 변수 이름입니다.
- expression
- 각 요소에 대한 표현식(expression), 이를 통해 새로운 리스트의 각 요소를 생성합니다.
- item
- iterable에서 가져온 요소들을 순회하며 차례로 대입되는 변수 이름입니다.
- iterable
- 순회 가능한(iterable) 객체, 예를 들어 리스트, 튜플, 집합 등이 될 수 있습니다.
- condition (선택사항)
- 조건문으로, 조건이 참(True)인 경우에만 expression이 실행되고 요소가 리스트에 추가됩니다.
3. 예시 코드
이제 몇 가지 예시 코드를 통해 리스트 내포의 사용법을 살펴보겠습니다.
3 - 1. 기본 예시
numbers = [1, 2, 3, 4, 5]
squared = [x**2 for x in numbers]
print(squared)
# 1
# 4
# 9
# 16
# 25
위의 코드는 numbers 리스트의 각 요소를 제곱하여 squared 리스트를 생성하는 예시입니다.
출력 결과는 [1, 4, 9, 16, 25]가 됩니다.
3 - 2. 조건문과 함께 사용하기
numbers = [1, 2, 3, 4, 5]
even_squared = [x**2 for x in numbers if x % 2 == 0] # 짝수만
print(even_squared)
# 4
# 16
위의 코드는 numbers 리스트에서 짝수인 요소들만 제곱하여 even_squared 리스트를 생성하는 예시입니다.
출력 결과는 [4, 16]가 됩니다.
4. 리스트 내포의 장점
- 간결하고 가독성이 좋은 코드 작성이 가능합니다.
- 반복문과 조건문을 한 줄에 작성하여 코드의 양을 줄일 수 있습니다.
- 루프가 내부적으로 실행되므로, 실행 속도가 일반적인 반복문보다 빠를 수 있습니다.
5. 주의 사항
- 리스트 내포는 간결하고 편리한 기능이지만, 복잡한 로직을 작성해야 한다면 가독성이 저하될 수 있으므로 적절히 사용해야 합니다.
- 리스트 내포를 남용하면 코드가 너무 복잡해질 수 있으니, 적절한 상황에서 사용하는 것이 좋습니다.
리스트 내포는 파이썬 프로그래밍에서 자주 사용되는 기능 중 하나이며,
반복적인 작업을 간결하고 효율적으로 처리할 수 있도록 도와줍니다.
잘못된 정보는 댓글로 알려주시면 감사하겠습니다.
728x90
반응형
'Python' 카테고리의 다른 글
Python - 10. 파이썬에서 2차원 리스트/튜플 활용하기 (0) | 2023.07.12 |
---|---|
Python - 9. 파이썬 튜플(tuple), 불변한(Immutable)한 자료구조. (0) | 2023.07.11 |
Python - 7. 파이썬의 List (0) | 2023.07.09 |
Python - 6. for문, while문 반복문과 break, continue (Iteration, while, break, continue) (0) | 2023.07.08 |
Python - 5. 파이썬 if문, if-else문 조건문(if, else, chained conditional) (0) | 2023.07.07 |