반응형
1. 반복문 기초
(1) for 문 기초문법
for 요소 in 이터레이터:
반복할 구문
L1 = [1,2,3,4,5]
for l in L1:
print(l)
if l == 2:
break; #break를 만났을때 가장 가까운 for문만 빠져나감
# 1 2 출력
(2) 대표적인 이터레이터(iterator) 객체 생성 함수
- 이터레이터 객체 : 값을 차례대로 꺼낼 수 있는 객체를 의미
2-1) range
- range(시작 , 끝 , 스텝)
- range(x) x인자 하나만 넣을 경우 range(0, x , 1) 와 동일함. 시작 0과 스텝 1이 디폴트 인자가됨.
- range(a,b) a,b 인자 두개만 넣을 경우 range(a,b,1)과 동일함. 스텝 1이 디폴트 인자가됨.
range(1,10,2)
#리스트로 변환
list(range(1,10,2))
#range를 사용한 구구단
for i in range(2,10):
for j in range(1,10):
print("{}*{}={}".format(i,j,i*j))
print('\n')
2-2) itertools 모듈의 함수
- itertoos.product(*L)
for v1, v2, v3 in itertools.product(L1, L2, L3):
#위 코드는 3중 for문과 동일
for v1 in L1:
for v2 in L2:
for v3 in L3:
- itertools.combinations(p,r)
p에서 r개씩 뽑아내어 조합할 수 있는 경우의 수 계산할때 사용
L1 = [a,b,c,d]
for comb in itertools.combinations(L1,2):
print(comb)
# a b
# a c
# a d
# b c
# b d
# c d
- itertools.permutations(p,r)
p에서 r개씩 뽑아내어 가능한 모든 순열을 계산할 때 사용
L = [a,b,c]
for r in range(1, len(L)+1):
for comb in itertools.permutations(L,r):
print(comb)
#a
#b
#c
#a b
#a c
#b a <= 순열이기 때문에 a b 와 순서가 다른 b a도 출력.
#b c
#c a
#c b
(3) 리스트(list) comprehension
: for 문을 사용하여 한 줄로 리스트를 생성할 때 주로 사용
[ 아웃풋 for 요소 in 이터레이터 if 조건 ]
L1 = [ x**2 for x in range(10) if x%2 == 0 ]
#위와 동일한 코드
L1 = []
for x in range(10):
if x%2==0:
L.append(x**2) # append : 리스트 맨 끝에 요소 추가
(4) 사전(dictionary) comprehension
: for 문을 사용하여 한 줄로 리스트를 생성할 때 주로 사용
{ key: value for key,val in iterator if 조건 }
dic1 = {x:y*2 for x,y in zip(range(10), range(10)) if x%2 ==0}
#위 코드와 동일
dic1 = dict()
for x,y in zip(range(10),range(10)):
if x%2==0:
dic1[x]=y**2
반응형
'IT > 파이썬' 카테고리의 다른 글
파이썬(python)을 활용한 데이터 분석 pandas (2) | 2022.12.13 |
---|---|
파이썬(python)을 활용한 데이터 분석 - numpy (1) | 2022.12.10 |
파이썬(python)을 활용한 데이터 분석-파이썬 주요 데이터 구조2(사전 dictionary) (0) | 2022.12.08 |
파이썬(python)을 활용한 데이터 분석 - 파이썬 주요 데이터 구조1 (리스트, 튜플) (0) | 2022.12.07 |
파이썬(python)을 활용한 데이터 분석 - 데이터 전처리는 왜 필요한가? (0) | 2022.12.07 |
댓글