본문 바로가기
교육은 한 사람의 인생을 바꾼다/AI교육

완전 초짜 파이썬 : 딕셔너리

by 함께 만드는 블로그 2020. 12. 3.
반응형

>>딕셔너리 출력하기

결과물
코딩 character = {
    'name':'기사',
    'level':12,
    'items':  {
        'sword':'불꽃의 검',
        'armor':'풀플레이트'
        },
    'skill':['베기', '세게 베기', '아주 세게 베기']
    }

for key in character:
    print(key, ':', character[key])

 : character라는 딕셔너리를 선언한 후, for와 print 명령어를 활용해 딕셔너리 값을 쭈욱 출력할 수 있다. 

 : 단, 이렇게 출력할 경우 '기사', '12' 같이 문자열(string)이거나 수(int/ float)는 각각 나오지만, items나 skill 같이 리스트거나 딕셔너리인 경우는 한 뭉텅이로 출력되는 것을 확인할 수 있다. 

 : 리스트/ 딕셔너리 안의 자료들도 한줄씩 각각 출력되게 하려면?

 

 

 

>>딕셔너리 출력하기 : 리스트/ 딕셔너리도 각각 출력

결과물

코딩

character = {

    'name':'기사',

    'level':12,

    'items':  {

        'sword':'불꽃의 검',

        'armor':'풀플레이트'

        },

    'skill':['베기', '세게 베기', '아주 세게 베기']

    }

for key in character:

    if type(character[key])==str or type(character[key])==int:

        print(key, ':', character[key])

    if type(character[key])==list:

        for i in character[key]:

            print(key, ':', i)

    if type(character[key])==dict:

        for e in character[key]:

            print(e, ':', character[key][e])

 : 기존에 for와 print 명령어만 이용했던 코딩에서 딕셔너리 내부 자료의 형태가 무엇인지 판단하는 if 구문 3개를 사용해야한다. 크게 자료가 문자열 혹은 정수인지 / 리스트인지 / 딕셔너리인지 로 나눌 수 있다.

 :그리고 다시 for 명령어로 프린트 명령어를 반복실행 시킨다. 

 

 

 

>>딕셔너리 출력하기 : 동일 값 카운팅 출력

결과물

코딩

numbers = [1,2,6,8,4,3,2,1,9,5,4,9,7,2,1,3,5,4,8,9,7,2,3]
counter = { }

for i in numbers:

        counter[i]=numbers.count(i)

 

print(counter)

: 어려울 듯 싶지만, 리스트에서 활용한 .count 명령어를 활용하면 아주 쉽게 문제를 풀 수 있다. 

반응형

댓글