본문 바로가기
IT/Python Basic

[python] (부록)파이썬의 a for b in range(c) 문법

by Echinacea 2025. 2. 18.
반응형

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]

여기서, brange(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)]

 

 

 

미니 퀴즈

  1. 다음 코드는 어떤 결과를 출력할까요?
squares = [b**2 for b in range(4)]
print(squares)
  1. 아래 코드에서 odds의 결과를 예측해보세요.
odds = [b for b in range(10) if b % 2 != 0]
print(odds)

 

 

 

 

 

 

 

미니 퀴즈 정답

  1. 출력 결과:
[0, 1, 4, 9]

📌 설명: b**2b의 제곱을 의미하며, range(4)[0, 1, 2, 3]의 요소를 반환합니다.

  1. 출력 결과:
[1, 3, 5, 7, 9]

📌 설명: b % 2 != 0 조건을 통해 홀수만 리스트에 포함됩니다.

반응형

댓글