본문 바로가기

배우기/복습노트[Python과 분석]

[복습] Python 반복문(for, while)

728x90
반응형

반복문: 동일한 명령 처리를 여러 대상에 반복해야 할 경우 사용

 

 

1. for: 정해져있는 객체나 횟수가 정해져 있는 경우

 

문법

for 반복변수 in 대상:

     반복할 문장

      .....

 

for문은 들여쓰기가 중요하며, 내부에서 엔터로 줄바꿈을 하는 경우 for문 종료로 인식하므로 엔터를 넣지 않도록 한다.

 

예) 1~10까지 출력

 

 

 

예) 1~100까지 홀수 출력

 

 

 

예) 다음의 리스트에서 10을 더한 값 리턴

l1 = [1, 2, 3, 4]

for 문에서 l1이 i 로 fetch 되고, i+10이 적용이 되고, res.append로 결합이 된다.

 

 

예) 다음의 리스트에서 이메일 아이디를 추출하여라.

l3 = ['abc@gmail.com', 'a1234@naver.com']

 

 

예) 두 리스트의 합을 구하여라.

l1 = [1, 2, 3, 4]

l2 = [10, 20, 30, 40]

 

위치기반으로 풀기

 

 

동시에 여러 객체 fetch: zip

list(zip(l1, l2))하면 다음과 같이 출력이 된다.

 

그러므로 zip을 적용하여 풀면 다음과 같다.

 

 

 

예제) 아래 정보를 사용하여 다음과 같이 출력하여라.

smith의 10% 인상된 급여는 880.

 

1) for문 사용

 

2) func + map 사용

 

결과적으로는 func + map 사용에 익숙해져야 한다. 대용량의 데이터로 계산을 하게 되면 속도 차이가 크게 나기 때문이다.

 

 

 

이중 for문

list1 = [[1,2,3],[4,5,6]]

위 리스트에 대하여 아래와 같이 print를 하려고 한다

1  2  3

4  5  6

 

 

이렇게 하면 그냥 전체 리스트가 출력된다.

 

 

 

이렇게 출력하면 세로로 출력된다.

 

이렇게 해야 출력이 된다.

 

 

 

예) 다음의 리스트에 대해 모든 원소를 소수점 둘 째 자리로 표현하여라.

l1 = [1, 2, 3]

 

함수로 풀기

 

for문으로 풀기

 

 

 

예) 다음의 데이터 프레임의 모든 원소를 소수점 둘 째 자리로 표현하여라.

1) for문

 

 

2) applymap

 

 

 

 

2. while: 반복을 수행할 조건이 정해져 있는 경우

 

문법

while 조건:

         반복할 문장

 

예) 1부터 100까지의 총 합 계산

1) for문

for문으로 수행 시 시작값 선언 불필요, 자동으로 다음 숫자로 넘어감(다음 숫자 정의 불필요)

 

2) while문

 

while문으로 수행 시 시작값 선언이 필요

자동으로 다음 숫자로 넘어가지 않으므로 반드시 다음 숫자 정의 필요(i = i + 1 이런 거).

 

 

참고: 파이썬에서의 연산과정 축약

vsum = 0

while i <=100 :

         vsum = vsum + i

         i += 1     # 파이썬에서는 이렇게도 정의함.

728x90
반응형