인공지능/파이썬

파이썬(Python) - 조건 제어문③ for 반복문

해피밀세트 2020. 2. 20. 19:50
반응형

 

for문

for 변수 in (리스트 , 튜플 , 문자열 가능) :
             수행해야할 문장

 

for문 연습하기

# dessert = 리스트 변수 / i = 카운트 변수 
dessert = ['초콜릿','쿠키','마시멜로','푸딩','껌']
for i in dessert :
    print(dessert)

 

리스트안에 있는 값이 여러개이면 각각의 변수를 따로 만들어야 한다. :
a = [('사과','잼'),('딸기','시럽'),('호두','과자')]
type(a)
type(a[0])
for x,y in a :
    print(x+y)

 

range 함수

: 일련번호를 생성하는 함수

range(시작, 끝-1, 증가분)   # 증가분의 기본값은 1이다.

# range 안에 값을 하나만 쓰면 끝값으로 인식한다.
range(끝)

 

i = 0
for i in range(1,6,1):
    print(i)

 

enumerate( ): 인덱스에 있는 값을 인덱스 번호와 동시에 리턴한다.
tea = ['백차','녹차','청차','홍차','흑차']
for i,j in enumerate(tea):
    print("{} {}".format(i, j))

 

연습 : 가장 많은 동물의 수 구하기

#같은 동물 찾기
animal = ('강아지', '고양이', '사자', '토끼', '사슴', '햄스터', '사자', '돌고래',
          '강아지', '사자', '늑대', '돌고래', '사자', '강아지', '늑대')
animal_dict = {}
x = [] 
k=[]
for i in animal:
    if i in animal_dict.keys() :
        animal_dict[i] = animal_dict[i]+1
    else :
        animal_dict[i] = 1
v = animal_dict.values()
count = list(v)
print(max(count))

 

 

for문의 리스트 내장객체

[표현식 for 변수 in 반복가능한 객체]
[표현식 for 변수 in 반복가능한 객체 for 변수 in 반복가능한 객체]
[표현식(참결과) for 변수 in 반복가능한 객체 if 조건문]
[표현식(참결과) if 조건문 else 거짓결과 for 변수 in 반복가능한 객체]

 

1) [표현식 for 변수 in 반복가능한 객체]

기본 for문 

x = []
for i in range(0,10):
    i += 1
    x.append(i*2)
print(x)

리스트 내장객체 for문 

a = range(1,11)
x = [i*2 for i in a]
print(x)

 

2) [표현식 for 변수 in 반복가능한 객체 for 변수 in 반복가능한 객체]

기본 for문

a = ['사과','딸기','레몬']
b = ['잼','사탕','쿠키']
x = []
for i in a:
    for j in b:
        x.append(i+j)
print(x)

리스트 내장객체 for문

a = ['사과','딸기','레몬']
b = ['잼','사탕','쿠키']
x=[i+j for i in a for j in b]
print(x)

 

3) [표현식(참결과) for 변수 in 반복가능한 객체 if 조건문]

기본 for문

coffee = ['라떼', '에스프레소', '아메리카노', '카푸치노', '콘파냐']
x = []
for i in coffee:
    if len(i) > 3:
        x.append(i)
print(x)

리스트 내장객체 for문

coffee = ['라떼', '에스프레소', '아메리카노', '카푸치노', '콘파냐']
x = [i for i in coffee if len(i)>3]
print(x)

 

4) [표현식(참결과) if 조건문 else 거짓결과 for 변수 in 반복가능한 객체]

x변수의 값을 변형시켜서 저장시킬때 조건문을 앞에쓴다.

기본 for문

a = ['일년365','취직','^0^','안녕!','하고','(ꉺᗜꉺ)','싶다']
x = []
for i in a:
    if i.isalpha():
        x.append(i)
    else:
        i = ''
        x.append(i)
print(x)

리스트 내장객체 for문

a = ['일년365','취직','^0^','안녕!','하고','(ꉺᗜꉺ)','싶다']
x = [i if i.isalpha() else '' for i in a]
print(x)

반응형