Today I Learned

파이썬 복습 - Unpack/예외처리

by Holly Yoon

1. unpacking이란 데이터 구조에 담긴 값들을 여러 개의 변수에 나누어 담는 것.

li = [1,2]
a, b = li
>> a에 1이 b에 2가 담김

2. for문과 함께 사용해서 딕셔너리 데이터에서 key값만 따로 빼보자.

pokemon_hp={'피카츄':100,'라이츄':200}
for name, hp in pokemon_hp.items():
	print(name)

3. unpacking시 주의할 것 - 변수 갯수 맞추기. 안 사용할 것 _사용하기.

sample=['a','b',c']
x,y,_ = sample
>>사용하지 않을 변수('c')는 _으로 표시해줘야함

sample2=['a','b','c','d','e','f','g','h']
x,y,*z = sample2
>>z에 c~h까지의 알파벳이 담기게 됨

4. enumerate : index 숫자를 자동생성

for idx, name in enumerate(pokemon):
	print(idx, name)

5. zip : index값이 일치하는 요소끼리 묶어줌

person=['a','b','c']
hp=[100,200,300]

person_hp={}
for p,h in zip(person, hp):
	person_hp[p]=h
>> {'a':100, 'b':200, 'c':300}

6. comprehension : list, dic등 자료구조를 간단하게 만들 수 있는 파이썬의 독특한 문법

#[원소연산 반복문]
#for문으로 쓴 것
sample=[1,2,3,4,5]
double=[]
for i in sample:
	double.append(i*2)
    
#list comprehension 사용
[i*2 for i in sample]

7. 리스트 평평하게 만들기 - 중첩 for문

groups = [['피카츄', '라이츄'], ['파이리', '리자드']]
flat_list = []
for group in groups:
    for i in group:
        flat_list.append(i)
>>['피카츄', '라이츄', '파이리', 리자드']

8. dic comprehension 

pokemon = ['피카츄', '라이츄', '파이리']
hp = [100, 200, 150]
{p:h for p,h in zip(pokemon, hp)}
>>{'피카츄': 100, '라이츄': 200, '파이리': 150}

9. try, except

sample = [1, 2, 3, 0, 5, '2']
div_result=[]
try:
  for i in sample:
    div_result.append(i/2)
  
except TypeError:
  div_result.append(None)

10. raise : 에러 메시지를 직접 작성해줄 수 있다.

x = int(input('5 이상의 정수를 입력하세요: '))
if x < 5:
    raise ValueError('지금 입력한 숫자는 5 미만입니다.')
>>ValueError: 지금 입력한 숫자는 5 미만입니다.

블로그의 정보

Study Log by Holly

Holly Yoon

활동하기