본문 바로가기

Coding, Testing, Challenge/python-basic

Python for문과 range문

728x90

이번 포스팅에서는 for문과 range문에 대해서 알아보겠습니다.

 

기존에 포스팅했던 반복문 while문과 for문이 할 수 있는 일은 동일합니다.

mummumni.tistory.com/76

 

Python while문과 if문

이번 포스팅에서는 while문과 if문에 대해서 알아보겠습니다. 먼저 while문에 대해서 알아보겠습니다. while문은 조건이 일치하는 동안 내부의 내용을 반복시키는 반복문입니다. 사용법은 while (조건

mummumni.tistory.com

하지만 상황에 따라서는 for문이 더 깔끔하게 코드를 작성할 수 있습니다.

for문의 사용법을 보면 다음과 같습니다.

for 대입 변수 in 대입 리스트 :

      수행문

for 문은 while문과는 다르게 대입 리스트에 있는 리스트 내부의 요소 수만큼 반복됩니다.

다음의 코드를 보면서 자세히 설명해 보겠습니다.

5개의 요소를 가지는 리스트 list1를 대입 리스트로 for문을 작성한 코드입니다.

for문을 보면 대입 변수로 i를 사용하였고 대입 리스트 list1의 값을 i에 대입합니다.

그리고 수행문은 대입 변수 i값을 출력하게 되어 있습니다.

 

실행 결과를 보면 list1의 요소들이 변수 i에 대입되어서, 요소가 모두 출력된 것을 알 수 있습니다.

그리고 list1의 요소가 모두 대입이 된 이후에는 반복문이 종료가 됩니다.

그러면 동일하게 동작하기 위해서 while문을 사용한다면, 어떻게 표현할 수 있는지 보겠습니다.

다음의 코드를 보면 인덱스의 위치를 이동시키기 위한 변수 i를 선언하였고

while문의 조건은 인덱스 i의 값이 리스트 list2의 길이보다 작을 동안만,

즉, 인덱스를 넘어서 동작하지 않도록 조건이 잡혀 있습니다.

그리고 수행문은 list2의 i번째 값이 출력되도록 하고 i값을 1 증가시키는 코드입니다.

결과를 보면 for문과 마찬가지로 list2의 요소들이 1개씩 출력되고,

리스트 값이 모두 출력된 후 종료되었습니다.

이처럼 while문과 for문은 동일한 동작을 수행할 수 있습니다.

다만 보다 코드의 가독성을 높이고 불필요한 코드가 없게, 상황에 맞춰서 사용하면 되겠습니다.

 

 

 

for문의 사용법에 보았듯이, for문의 in 다음에는 순차적으로 진행될 리스트가 필수적으로 존재합니다.

아래의 코드를 보면 1에서 5까지 5개의 요소를 가지는 list3을 대입 리스트로 해서

각 요소를 출력하는 코드입니다.

결과를 보면 1-5까지 순차적으로 출력이 되고 종료됩니다.

위의 코드처럼 순차적으로 증가하거나 할 때 별도의 대입 리스트 없이

for문을 더 편하게 사용할 수 있게 하는 것이 바로 range문입니다.

range문의 사용법은 다음과 같습니다.

for 대입 변수  in range(범위):

    수행문

다음의 코드를 통해서 실제 동작을 보도록 하겠습니다.

대입 변수 i에 range문의 범위 값을 대입하고, 수행문을 통해서 출력하는 코드입니다.

range문을 보면 2개의 파라미터 1과 6이 들어가 있습니다.

이렇게 range문에 2개의 파라미터가 들어간 경우, 범위는 1부터 6의 바로 앞인 5까지 입니다.

실행 결과를 보면 1에서 5까지 값이 순차적으로 출력되고 종료되는 것을 알 수 있습니다.

range문의 위의 예제처럼  2개의 파라미터를 지정하는 방법도 있지만,

1개의 파라미터, 3개의 파라미터를 입력하여 실행시키는 방법도 있습니다.

 

먼저 파라미터를 1개만 쓸 때의 코드를 보겠습니다.

파라미터가 2개인 바로 위의 코드와 다르게 range문에 파라미터가 6 만 들어가 있습니다.

실행 결과를 보면 위의 코드와 다르게 0부터 5까지의 값이 순차적으로 출력되고, 

코드가 종료되는 것을 알 수 있습니다.

즉 파라미터가 1개인 경우에는 0부터 파라미터 직전의 값까지 범위로 설정됩니다.

다음으로 파라미터를 3개로 사용할 경우를 보겠습니다.

코드를 보면 파라미터가 1, 6, 2로 3개가 들어가 있습니다.

 

실행 결과를 보면 범위는 1부터 시작하고, 3번째 파라미터로 지정된 2씩 증가하면서,

2번째 파라미터로 지정된 6의 바로 앞까지 범위로 지정됩니다.

즉, 파라미터가 3개일 경우에는 첫 번째 파라미터부터 두 번째 파라미터 직전까지의 범위에서

증가하는 단위는 세 번째 파라미터씩 증가한다는 것을 알 수 있습니다.

 

이렇게 for문과 range함수에 대해서 알아보았습니다.

포스팅에서 사용된 캡처된 코드는 첨부된 Python 파일을 참고해 주세요

test_17.py
0.00MB

다음 포스팅에서는 dictionary(사전) 형 자료형에 대해 알아보겠습니다.

 

 

'Coding, Testing, Challenge > python-basic' 카테고리의 다른 글

Python List와 dictionary 사용시 유의점  (0) 2021.01.04
Python 사전형 자료형(dictionary)  (0) 2021.01.03
Python 리스트 메소드  (0) 2021.01.01
Python 리스트 정렬  (0) 2020.12.31
Python 리스트 함수  (0) 2020.12.30