07_파이썬_for_break_continue_range_list_set_dic

안녕하세요 Mr_ChooC(coding)AI 입니다~

이번 포스트에서는 프로그래밍의 꽃 for문에 대해서 알아보도록 하겠습니다. Pythonfor문은 많은 기능을 포함 하고 있습니다. 특히 sequence(리스트, 튜플, 문자형 등…)가 있는 for문을 활용해서 편하게 iteration을 돌릴 수가 있습니다. 이러한 내용에 대해서 자세히 알아보도록 하겠습니다.

실습 코드는 github을 참조해 주시기를 부탁드리겠습니다.

Github: https://github.com/Chooyoungjun/pythonstudy/tree/main/07_for_str_list_tuple_range_set_dic

for

1.     for 문 구조

2.     시퀀스와 for

A.     문자열 for

B.     리스트 for

C.     튜플 for

D.     range() for

3.     비시퀀스와 for

A.     세트와 for

B.     딕셔너리 for

4.     제어문과 for

A.     break for

B.     continue for

 

for

파이썬의 for문은 다른 언어에서의 for문보다 쉽게 사용할 수 있도록 구성이 되어있습니다. 이러한 for문을 잘 활용하시면 많은 문제를 해결할 수 있습니다. 잘 숙지하시기를 바라겠습니다.

1.     for 문 구조

[문법]

for 변수 in 박복가능객체:

            반복 실행문

Ex)

for n in [1,2,3]:

            Print(n)

위와 같이 반복 가능 객체가 in안에 들어가기만 하면 for문이 실행되는 것을 알 수 있습니다. 참 간단하게 구현 할 수 있는 것을 알 수 있습니다. 반복가능객체에 대해서 잘 모르죠? 반복가능 객체란 반복해서 사용 할 수 있는 객체 입니다. 객체 내부에 요소가 여러 개 저장되어 있고 한 번에 하나씩 꺼내서 사용 할 수 있는 객체를 말합니다. 예시로 python에서 문자열(str), 리스트(llist), 튜풀(tuple), 세트(set), 딕셔너리(dict),range 등이 이에 속합니다.

이러한 반복 가능 객체는 2가지로 나눌 수가 있습니다. sequence(문자열, 리스트, 튜플, range)가 있는 반복 가능 객체와 non-sequence(set, dict)로 나눌 수 있습니다. 순서대로 알아가 보도록 하겠습니다.

2.     시퀀스와 for

이번 for문에서 시퀀스가 있는 객체 4가지(문자열, 리스트, 튜플, range)에 대해서 다루어 보도록 하겠습니다.

A.     문자열 for

문자열에 있는 문자 하나 하나를 순서대로 값을 변수에 할당하면서 for문을 돌립니다. 자 이렇게 말만 들으니까 잘 이해 안되시죠?? 하기 문법과 실습코드를 통해서 더 자세하게 이해해 보도록 하겠습니다.

[문법]

for 변수 in 문자열:

      반복 실행문

혹시 in operator에 대해서 헷갈리신다면 앞의 operator post를 참조 하시면 됩니다.

[실습]

간단하게 문자열을 넣은 다음에 for문으로 실행 하는 실습을 진행해 보도로 하겠습니다.


문자열로 for문을 돌리면 문자열 검사를 할 수도 있습니다 그리고 문자열에 일정 규칙을 가지고 추가할 수도 있습니다.  for문을 활용해서 문자열의 문자를 하나하나 변수에 할당 하는 것을 알 수있습니다.

B.     리스트 for

리스트에 있는 값 하나씩 순서대로 변수에 할당하면서 반복하는 문법 입니다. , 리스트 index 0번의 값부터 시작해서 length길이 만큼의 값까지 반복해서 변수에 할당하는 반복문을 for문이라고 합니다.

[문법]

for 변수 in [리스트]:

      반복 실행문

[실습]

간단하게 list에 값을 넣고 for문을 통해서 순차적으로 출력해보는 실습을 해 보겠습니다.


위의 실습과 같이 그냥 print했을 경우와 for문을 활용해서 print했을 때 차이가 나는 것을 확인 할 수 있습니다.

C.     튜플 for

튜플안에 있는 값을 하나씩 변수에 할당하면서 실행 하는 반복문 입니다. List와 똑같은 방식이지만 자료형만 다르다고 보시면 되겠습니다.

[문법]

for 변수 in (튜플):

      반복 실행문

[실습]

리스트와 똑 같은 값을 넣고 자료형만 변형하여 실행해 보도록 하겠습니다.


Tuple을 정의 할 때는 소괄호 안에 값을 넣으면 tuple자료형이 선언 됩니다. 그래서 요소별로 변수를 통해서 잘 불러오는 것을 확인 하실 수 있습니다.

D.     range() for

range() 정수의 범위를 만들 때 유용한 함수 입니다. 그래서 for문과 함께 사용한다면 개발자가 원하는 범위의 정수를 쉽게 만들 수 있습니다. 어떻게 원하는 range의 값을 만들어 내는지를 보고 range for문에 대해서 알아 보도록 하겠습니다.

[range 문법]

range(초기값, 종료값, 증감값)

[range 특징]

-      초기값을 생략하면 0부터 시작 합니다.

-      종료값은 생략 할 수 없습니다.

-      증감값을 생략하면 1씩 증가합니다.

[range 실습]

다양한 range함수를 생성 하면서 range함수에 대해서 이해해 보도록 하겠습니다.


위의 실습 코드와 같이 실행하면 range함수가 출력 되는 것을 알 수 있습니다. 안의 값을 보고 싶다면 listtuple로 형변환 시키면 생성되는 값을 확인 할 수 있습니다.


위와 같이 실습해 보면 range를 활용해서 list하고 tuple을 생성 할 수 있는 것을 확인 할 수 있습니다. 이렇게 range에 대해서 알아 보았습니다. 이제는 for문에 대해서 자세하게 알아 보도록 하겠습니다.

[range for 문법]

for i in range(초기값, 종료값, 증감값):

      실행할 명령

위의 range에서 확인한 것과 같이 range함수는 listtuple로 생각 될 수도 있습니다. 그래서 이러한 값을 활용하여 list for문과 같이 사용 할 수 있습니다. 이러한 사실을 숙지하시고 실습을 진행해 보도록 하겠습니다.

[실습]

간단하게 for문으로 출력해보는 실습을 진행 보겠습니다.


위의 실습 코드와 같이 range를 활용해서 만든 시퀀스 자료형을 기반으로 for문을 실행시킬 수 있는 것을 알아보았습니다.

3.     비시퀀스와 for

비시퀀스 자료형 중에 setdictionary에 대해서 알아보도록 하겠습니다.

A.     세트와 for

[문법]

for 변수 in {세트}:

      반복 실행문

위의 문법과 같이 중괄호안에 값을 넣어서 set를 생성하면 세트를 활용한 for문을 생성 할 수 있습니다. 안에서 sequence가 없기 때문에 각 자료형이 가진 특징대로 자료를 보관하고 출력 하는 특징이 있습니다.

[실습]

간단하게 가위바위보를 만들어서 실습을 진행해 보도록 하겠습니다.


알파벳 순서대로 출력 하는 것을 알 수 있습니다. 이런 식으로 데이터를 입력한 순서는 없지만 내부적인 규칙을 가지고 출력 하는 것을 알 수 있습니다.

B.     딕셔너리 for

Dictionarykeyvalue값으로 형성되어 있기 때문에 순서가 없습니다. 이러한 자료형은 또 어떻게 for문에 적용 되는지 알아보도록 하겠습니다.

[문법]

for key in {dictionary}:

      실행할 명령

dictionary자료형에서는 key가 반환 되는 것을 알 수 있습니다. 이러한 사실을 숙지하고 실습을 진행해 보도록 하겠습니다.

[실습]

간단하게 dic자료형을 생성시키겠습니다. 그렇게 하고 for문을 활용하여 출력하는 실습을 진행해 보도록 하겠습니다.


위의 실습과 같이 person이라는 dictionary자료형을 만들어 보았습니다. 여기에서 for문을 활용해서 key값을 추출하는 for문을 만들어 보았습니다. 그리고 마지막으로 for문과 dictionary자료형을 이용해서 dictionary가 가지고 있는 key값에 따른 value값을 출력해 보았습니다.

4.     제어문과 for

지금까지는 for문을 다양한 자료형에 따라서 어떻게 사용하는지에 대해서 알아 보았습니다. for문의 반복 흐름을 제어하는 제어문에 대해서 알아보도록 하겠습니다.

A.     break for

break문은 반복을 강제로 종료하는 문법입니다. 이러한 사실을 숙지해 주시기만 합니다. 내용은 간단합니다. 그래서 바로 문법과 실습으로 자세하게 이해해 보도록 하겠습니다.

[문법]

for 변수 in 자료형:

      if 변수 == 변수:

                 break;

      print(변수)

위와 같이 사용하면 특정 조건에서 반복문이 끝나지 않았지만, 실행을 멈추도록 할 수 있습니다.

[실습]


간단하게 테스트를 해 보았습니다. 아무 문제없이 잘 실행되는 것을 확인할 수 있습니다. 그리고 break되는 것을 확인할 수 있습니다. 만약 escape(\n)에 대해서 까먹으셨다면 앞의 post를 참조해 주세요!

Escape: https://choocai.blogspot.com/2021/12/03.html

B.     continue for

continue문은 continue문 아래에 있는 명령을 무시하고 다시 반복해라는 의미 입니다. 이번 내용역시 문법과 실습을 통해서 바로 이해해 보도록 하겠습니다.

[문법]

for 변수 in 자료형:

      if 변수 == 변수:

                 continue;

      print(변수)

위와 같이 실행하면 변수가 같을 경우에 하기 print문을 생략하는 것을 알 수 있습니다.

[실습]


위에서 실습과 같이 continue문이 실행이 되면 하기 명령을 생략하고 다시 반복문이 실행 되는 것을 확인 할 수 있습니다. 출력된 값을 보면 3이 생략되어 있는 것을 확인 할 수 있습니다.

지금까지 for문에대해서 알아 보았습니다. 잘 이해 하시고 잘 사용하시기를 바라겠습니다!

 

Comments