티스토리 뷰

파이썬 문법 뽀개기 원격 강의 진도 나가기

파이썬으로 알고리즘 공부를 하고 있었기 때문에 완전 생소한 내용은 아니었지만, 알고 있던 것은 복습하고 새로운 것은 집중해서 공부하는 시간을 가졌다.

 

for문에서 enumerate()의 활용

fruits = ['사과', '배', '감', '귤','귤','수박','참외','감자','배','홍시','참외','오렌지']

for i, fruit in enumerate(fruits):
    print(i,fruit)

이처럼 for문을 돌릴때 enumerate()를 이용해서 index를 받아올 수 있고, 이를 다양한 방식으로 활용할 수 있다.

 

f-string

알고 있는 개념이지만 너무 자주 쓰이기 때문에 정리하였다. 아래의 예시처럼 문자열 안에 변수를 넣고 싶을 때 사용하면 된다. 문자열을 `(백틱)으로 감싸주어야 하는 것을 까먹으면 안 된다.

scores = [
    {'name':'영수','score':70},
    {'name':'영희','score':65},
    {'name':'기찬','score':75},
    {'name':'희수','score':23},
    {'name':'서경','score':99},
    {'name':'미주','score':100},
    {'name':'병태','score':32}    
]

for s in scores:
    name = s['name']
    score = str(s['score'])
    print(f'{name}은 {score}점입니다')

 

try - except 문 (예외 처리)

people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby'},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for person in people:
    try:
        if person['age'] > 20:
            print (person['name'])
    except:
        name = person['name']
        print(f'{name} - 에러입니다')

try - except 문을 이용하면 에러가 나는 경우 이를 넘어갈 수 있다. try - except문을 사용하지 않고 위의 예제를 실행하면, 20세 이상인 사람을 찾다가 'bobby'의 'age'가 없어 아래와 같은 에러가 발생하고 실행이 멈추게 된다.

 

 

lambda 식 활용

def check_adult(person):
    if person['age'] > 20:
        return '성인'
    else:
        return '청소년'

result = map(check_adult, people)
print(list(result))

위의 코드는 아래의 코드로 훨씬 간단하게 나타낼 수 있다. 

즉, lambda 식은 간단한 함수를 따로 정의하지 않고 더 간단하게 나타내는데 활용되는 식으로 map이나 filter 같은 함수와 같이 사용된다.

result = map(lambda x: ('성인' if x['age'] > 20 else '청소년'), people)
print(list(result))
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함