반응형
Python의 "a for b in range(c)" 구문은 리스트 컴프리헨션(List Comprehension)과 결합하여 자주 사용되는 문법입니다. 이를 통해 반복문을 간결하게 표현하고, 리스트를 짧고 직관적인 방식으로 생성할 수 있습니다.
기본 구조
- a는 생성할 리스트의 각 요소를 표현합니다.
- b는 range의 현재 반복 변수입니다.
- range(c)는 반복 횟수 또는 범위를 정의합니다.
예를 들어:
my_list = [b for b in range(5)]
print(my_list)
위 코드는 다음과 같은 결과를 출력합니다:
[0, 1, 2, 3, 4]
여기서, b는 range(5)에 의해 0부터 4까지의 값을 가지며, 각 값이 리스트의 요소로 추가됩니다.
장점
- 코드가 간결해지고 가독성이 높아짐
- 한 줄로 리스트를 정의하면서도 조건이나 변환 로직을 포함할 수 있음
예를 들어, 조건을 추가하여 짝수만 포함하는 리스트를 만들 수도 있습니다:
even_numbers = [b for b in range(10) if b % 2 == 0]
print(even_numbers)
출력:
[0, 2, 4, 6, 8]
추가 사례
- 문자열 변환:
letters = [chr(65 + i) for i in range(5)]
print(letters)
출력:
['A', 'B', 'C', 'D', 'E']
- 중첩 반복:
pairs = [(i, j) for i in range(3) for j in range(2)]
print(pairs)
출력:
[(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)]
미니 퀴즈
- 다음 코드는 어떤 결과를 출력할까요?
squares = [b**2 for b in range(4)]
print(squares)
- 아래 코드에서 odds의 결과를 예측해보세요.
odds = [b for b in range(10) if b % 2 != 0]
print(odds)
미니 퀴즈 정답
- 출력 결과:
[0, 1, 4, 9]
📌 설명: b**2는 b의 제곱을 의미하며, range(4)는 [0, 1, 2, 3]의 요소를 반환합니다.
- 출력 결과:
[1, 3, 5, 7, 9]
📌 설명: b % 2 != 0 조건을 통해 홀수만 리스트에 포함됩니다.
반응형
'IT > Python Basic' 카테고리의 다른 글
[Python] 초급 개념11 - 문자열 다루기 (split, join, format 등) (0) | 2025.02.18 |
---|---|
[Python] 초급 개념10 - 예외 처리 (try-except) (0) | 2025.02.18 |
[Python] 초급 개념9 - 파일 입출력 (I/O) (0) | 2025.02.18 |
[Python] 초급 개념8 - 집합 (set) (0) | 2025.02.18 |
[Python] 초급 개념7 - 딕셔너리 (dict) (0) | 2025.02.18 |
[Python] 초급 개념6 - 튜플 (tuple) (0) | 2025.02.17 |
[Python] 초급 개념5 - 리스트 (list) (0) | 2025.02.17 |
[Python] 초급 개념4 - 함수 (def, return) (1) | 2025.02.17 |
댓글