Python 혈액형 분류하기

냐항·2021년 8월 1일

참 헷갈리는 dict

여러사람의 혈액형 (A, B, AB, O) 에 대한 정보가 담긴 list 를 전달 받아 , key 는 혈액형의 종류 , value 는 사람 수인 dictionary 를 반환하는 count_ blood 함수를 작성하시오

def count_blood(blood):
    new = {}
    for i in blood:
        if i in new:
            new[i] += 1
        else:
            new[i] = 1
    return new

오,,, for i in blood가 딕셔너리에서도 사용가능하구나!


def count_blood(blood):
    new = {}
    for i in blood:
        if new.get(i):
            new[i] += 1
        else:
            new[i] = 1
    return new

new[ i ]였다면 에러가 떳겠지만 get(i)이라 ㄱㅊ


def count_blood(blood):
    new = {}
    for i in blood:
        new[i] = new.get(i, 0) +1
    return new

print(count_blood(['A','B','A','O','AB','AB','O','A','B','O','B','AB']))

new에 i가 없다면 0을 할당하고 +1을 하렴

{'A': 3, 'B': 3, 'O': 3, 'AB': 3}

0개의 댓글