Python 기초
Python List Comprehensions with Examples
Replace a four-line loop with one readable line that transforms and filters a list.
배울 내용
- The [expression for item in iterable] form
- Filtering with if
- Dict and set comprehensions
[n * n for n in range(1, 11) if n % 2 == 0]
- 1
for n in range(1, 11)Take each number - 2
if n % 2 == 0Keep the even ones - 3
n * nSquare them - 4
[4, 16, 36, 64, 100]Collect the results
Loop, filter and result in one expression
리스트 컴프리헨션(list comprehension)은 기존 시퀀스로부터 새 리스트를 간결하게 만드는 방법입니다. 하나의 식 안에 반복, 걸러 내는 조건, 각 요소의 변환을 함께 쓸 수 있습니다. 간단한 경우에는 일반 for 반복문보다 읽기 쉽습니다.
핵심 포인트
- [x * x for x in nums] builds a new list of squares.
- Add a condition at the end: [x for x in nums if x
%2==0]. - The original list is not changed.
- Use a normal loop when the logic needs several steps.
언제 사용하나요?
- 짧고 이해하기 쉬운 예제로 Python 문법과 기본 개념을 익힙니다.
- 더 복잡한 문제로 넘어가기 전에 탄탄한 기초를 다집니다.
- 컴퓨터에 Python을 설치하지 않고 브라우저에서 바로 코드를 실행합니다.
동작 원리 보기
한 단계를 누르면 각 숫자가 조건과 식을 거칩니다. 조건이나 식을 바꿔 다른 리스트를 만들어 보세요.
예제 코드
main.py
numbers = range(1, 11)
even_squares = [number ** 2 for number in numbers if number % 2 == 0]
print(even_squares)
실행 결과
[4, 16, 36, 64, 100]
코드 설명
if number % 2 == 0 조건은 1부터 10까지의 숫자 중 짝수만 남깁니다. 그다음 number ** 2 식이 남은 각 숫자의 제곱을 계산하므로 결과는 [4, 16, 36, 64, 100]입니다. 로직이 복잡해지면 코드를 알기 쉽게 유지하기 위해 for 반복문으로 돌아가는 것이 좋습니다.
값을 변경하고 Python 설치 없이 CodeUtility 온라인 Python 컴파일러에서 실행하세요.
연습 문제
아래 제안을 따라 코드를 바꿔 보세요. 코드를 직접 고치고 결과를 확인하면 읽기만 할 때보다 레슨을 훨씬 잘 이해할 수 있습니다.
- 입력 데이터를 바꾸고 실행하기 전에 결과를 예상해 보세요.
- 비어 있거나 잘못된 데이터를 확인하는 코드를 추가해 보세요.
- 처리 부분을 별도의 함수로 분리하고 여러 데이터로 테스트해 보세요.
챌린지로 연습하기
이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.
- Count Positive Numbers Count the values greater than zero in a list. 쉬움
- Above-Average Values Keep the values that are greater than the average. 쉬움
- 중복 제거 각 값의 첫 번째 등장만 남기세요. 쉬움