[python] for문과 range, 그리고 iterator

python을 처음 접할 때 for 구문이 형태가 조금 달라 당황했습니다. 보편적인 사용형태는 아래와 같습니다.


for x in range(3):
    print(x)


위 코드는 0, 1, 2를 순서대로 출력합니다. 특이한 사항은 range(3) 함수는 iterator 타입을 반환하고 for문이 매 루프마다 iterator를 조회하여 x값을 얻는다는 것입니다. range()함수의 매개변수로 하나의 자연수 N을 전달하면 0, 1, 2, ... , N-1 까지의 값을 순차적으로 조회되는 iterator가 반환된다는 것입니다. 아래와 같이 range(start, end, step) 함수로 3개의 전달인자를 전달하면, start ~ (end-1) 사이의 숫자를 step 간격으로 조회되는 iterator를 for 루프에 사용할 수 있습니다.


for x in range(1, 10, 2):
    print(x)


위 코드는 1, 3, 5, 7, 9를 순서대로 출력합니다.


range() 함수 대신 다른 iterator 타입의 자료를 이용할 수도 있습니다. 아래는 사용 가능한 목록입니다.



range() 함수 대신, 리스트, 튜플, 디셕너리, 문자열, 집합 등의 타입의 자료형에도 대응이 가능한 것을 확인할 수 있습니다.


끝.

댓글

이 블로그의 인기 게시물

[PLC] PLC 아날로그 입출력 기본

NPN, PNP 트랜지스터 차이점

전력(kW) 계산하기 (직류, 교류 단상, 교류 삼상)

커패시터에 저장된 에너지 계산

3선 결선식 센서의 타입 PNP, NPN

제너 다이오드에 저항을 연결하는 이유

3상 모터 전력에서 전류 계산하기 (How to Convert Three-Phase Power to Amps)

[아두이노] 가변저항(Potential Divider)과 전압분배(Voltage Divider)

[공압밸브] 5포트 2웨이 & 4포트 2웨이, 단동 VS 복동 차이점

공압 속도 제어: 미터인 vs 미터아웃