Python 48 - 조건문 제어문 _ for 반복문

2021. 6. 9. 11:44python

반응형

for문

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

for문 연습하기

 

dessert = ['초콜릿','쿠키','마시멜로','푸딩','껌']
for i in dessert :
    print(dessert)
    
--출력값--
['초콜릿', '쿠키', '마시멜로', '푸딩', '껌']
['초콜릿', '쿠키', '마시멜로', '푸딩', '껌']
['초콜릿', '쿠키', '마시멜로', '푸딩', '껌']
['초콜릿', '쿠키', '마시멜로', '푸딩', '껌']
['초콜릿', '쿠키', '마시멜로', '푸딩', '껌']

 

리스트안에 있는 값이 여러개이면 각각의 변수를 따로 만들어야 한다. :

a = [('사과','잼'),('딸기','시럽'),('호두','과자')]
print(type(a))
print(type(a[0]))
for x,y in a :
    print(x+y)
    
--출력값-- 
<class 'list'>
<class 'tuple'>
사과잼
딸기시럽
호두과자

 

range 함수

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

range(시작, 끝-1, 증가분)   
	증가분의 기본값은 1이다.
range(끝)
	range 안에 값을 하나만 쓰면 끝값으로 인식한다.
i = 0

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

출력값 : 1 2 3 4 5 

 

enumerate( ): 인덱스에 있는 값을 인덱스 번호와 동시에 리턴한다.

tea = ['백차','녹차','청차','홍차','흑차']
for i,j in enumerate(tea):
    print("{} {}".format(i, j))

---출력값---
0 백차
1 녹차
2 청차
3 홍차
4 흑차

 

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

#같은 동물 찾기

animal = ('강아지', '고양이', '사자', '토끼', '사슴', '햄스터', '사자', '돌고래',
          '강아지', '사자', '늑대', '돌고래', '사자', '강아지', '늑대')
animal_dict = {}

for i in animal:
    if i in animal_dict.keys() :
        animal_dict[i] = animal_dict[i]+1
    else :
        animal_dict[i] = 1
        
print(animal_dict)

v = animal_dict.values()
count = list(v)

print(count)
print(max(count))


---출력값---
{'강아지': 3, '고양이': 1, '사자': 4, '토끼': 1, '사슴': 1, '햄스터': 1, '돌고래': 2, '늑대': 2}
[3, 1, 4, 1, 1, 1, 2, 2]
4

사자는 총 4마리로 가장 많이 반복되는 동물이다.

 

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)


출력값 : [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

리스트 내장객체 for문 

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

출력값 : [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

 

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)

출력값 : ['', '취직', '', '', '하고', '', '싶다']
반응형