파이썬의 패킹, 언패킹
파이썬의 리스트 컴프리헨션
파이썬의 리스트 컴프리헨션(List Comprehension)은 매우 유용하며 간결한 방법으로 리스트를 생성하는 문법입니다. 리스트 컴프리헨션은 for 반복문과 조건문을 결합하여 새로운 리스트를 만들 수 있습니다.
일반적인 리스트 컴프리헨션의 구문은 다음과 같습니다:
[표현식 for 항목 in iterable if 조건문]
여기서 각 부분을 설명하겠습니다
표현식: 리스트의 각 항목에 대한 계산식이나 변형을 의미합니다. 이 표현식의 결과가 새로운 리스트의 원소로 추가됩니다.항목: for 반복문에서 사용될 변수입니다. 이 변수가 iterable에 있는 각 요소에 대해 반복하게 됩니다.iterable: 순회 가능한(iterable) 객체로, 리스트, 튜플, 문자열 등이 사용될 수 있습니다. iterable의 각 요소에 대해 항목 변수가 반복됩니다.if 조건문 (선택 사항): 조건문은 리스트 컴프리헨션 내에서 필터 역할을 합니다. 조건문의 결과가 True인 경우에만 표현식의 계산 결과가 리스트에 추가됩니다.리스트 컴프리헨션을 사용하여 간결하게 리스트를 생성할 수 있으며, 기존의 for 루프와 append() 메서드를 사용하여 리스트를 생성하는 방법보다 가독성이 좋아지고 코드가 간결해집니다.
여러 예시를 통해 리스트 컴프리헨션을 이해해보겠습니다.
squares = [x**2 for x in range(10)]
# 출력: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
words = ["apple", "banana", "grape", "orange", "kiwi"]
long_words = [word for word in words if len(word) >= 5]
# 출력: ['apple', 'banana', 'orange']
even_squares = [x**2 for x in range(1, 21) if x % 2 == 0]
# 출력: [4, 16, 36, 64, 100, 144, 196, 256, 324, 400]
리스트 컴프리헨션을 사용하면 코드가 간결해지고 가독성이 좋아지므로, 적절한 상황에서 사용하면 좋습니다. 하지만 너무 복잡한 리스트 컴프리헨션은 오히려 가독성을 해치므로 적절하게 사용하는 것이 중요합니다.