반응형
본 포스팅은 패스트 캠퍼스의 [온라인] 데이터 사이언스 스쿨을 수강하며 학습한 내용을 정리한 것입니다.
데이터 사이언스 스쿨 온라인
대학교재보다 상세한 강의자료, 현직 실무자의 노하우까지 모두 얻어가세요 ! 이미 수많은 비전공자들이 데이터 사이언티스트로 커리어 전환에 성공한 바로 그 강의. 데이터 사이언스 스쿨 오프라인 정규 과정을 이제는 온라인에서 만나보세요!
www.fastcampus.co.kr
1. while
- 조건이 False가 될 때까지 구문의 코드를 반복함
- 사용예제 : while문을 활용해 총점과 평균을 구함
# 학생이 국어:80, 영어:90, 수학:100점을 받음 while문을 이용해 총점과 평균을 출력하시오.
# 학생의 점수는 list, dict로 표현해도됨.
# len(), dict,values(), list.pop()
subject_ls = ["korean", "english", "math"]
score_ls = [80, 90, 100]
score = {
"korean":80,
"english":90,
"math":100
}
total, avg = 0, 0
#pop으로 하나씩 줄여가는 방법이 있음. 다 빠지면 datas가 boolean False임
while datas:
total += datas.pop()
avg = total / len(score_ls)
total, avg
2. for
- iterable(순서가 있는)한 값을 하나씩 꺼내서 value에 대입시킨 후 코드를 iterable 변수의 값 갯수만큼 실행
- range()함수 사용
- for문의 반복수를 결정하기 위해 range()함수를 사용할 수 있음
- range(5), range(5, 10), range(0, 100, 2) 등
- 사용예제 (구구단 출력)
for data1 in range(1,10):
for data2 in range(2,10):
#print(str(data2)+"*"+str(data1)+"="+str(data1*data2), end="\t") #str형변환
print("{}*{}={}".format(data2, data1, data2*data1), end="\t") #foramt사용
print()
3. break
- 반복문을 중단시킬 때 사용하는 예약어
- while문의 경우 무한루프에 빠지는 경우가 종종있는데 조건을 걸고 break문을 사용한다.
- 사용예제
result = 1
while result:
result += 1
if result >= 10:
break
print(result)
4. continue
- continue 아래 코드를 실행하지 않고 조건부분으로 돌아가 코드를 실행함
- 사용예제
ls = [0, 1, 2, 3, 4,]
for data in ls:
if data %2:
continue # continue를 만나면 아래 코드 실행이 안되고 다시 반복
print(data, end=" ")
#결과 : 0, 2, 4
5. list comprehention
- 리스트 데이터를 만들어주는 방법
- for문보다 빠르게 동작(성능이 좋음)
- 사용예제
ls = [0, 1, 2, 3]
result = [data**2 for data in ls]
# 결과 : [0, 1, 4, 9]
- for문과 성능비교
%%timeit
ls = []
for num in range(1, 10001):
ls.append(num)
len(ls)
# 결과 : 496 µs ± 5.21 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
%%timeit
ls = [num for num in range(1, 10001) if num%3 == 0]
len(ls)
# 결과 : 484 µs ± 3.56 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
※ 참고 : Jupyter Notebook 무한루프 발생시 대처법
- Kernel 탭의 Interrupt를 선택하면 무한루프를 빠져나올 수 있다.
반응형
'Python > Tutorial' 카테고리의 다른 글
[Python] 함수(3) - map, filter, reduce (0) | 2020.04.03 |
---|---|
[Python] 함수(2) - docstring, scope, inner function, lambda function (0) | 2020.04.03 |
[Python] 함수(1) - 기본 함수, parameter, argument, return, *args, **kwargs (0) | 2020.04.02 |
[Python] 조건문 - if, else, elif(else if) (0) | 2020.04.01 |
[20200325] 파이썬 기본 문법(Python basic syntax) (0) | 2020.03.25 |