윤인선님 강의 [24] dic, for문 문제2

2021. 8. 1. 03:00python/파이썬

728x90

23. 딕셔너리
- 딕셔너리는 순서가 없다
키값 - 문자열 , 숫자 , bool, 튜플등 가능
출력 - print(딕셔너리["키값"]
변경 - 딕셔너리["키"] = "변경할 값" 
추가 - 딕셔너리["키"] = "값"
- 변경과 추가의 키값은 변경할 키값 추가할 키값의 차이가 있다
제거 - del 딕셔너리["키"]

딕셔너리.get("키값") - 키가 있는지 없는지 확인, print() 와 사용한다

24. 딕셔너리 응용
- 하나의 딕셔너리에 같은 key를 중첩으로 사용해 한번에 뽑아 사용할수 있다

 

 

key_list = ["name", "hp", "mp", "level"]
value_list = ["기사", 200, 30, 5]
characte = {}

for i in range(len(value_list))
character[key_list[i]] = value_list[i]
#{'name': '기사'. 'hp':200, 'mp':300, 'level':5}

 



# 숫자 : 몇번 출력하는지   
nums = [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 num in nums:
    if num in counter:
        counter[num] += 1
    else:
        counter[num] = 1

! hint = counter[number] = counter[number] + 1



flat(평평하다) : 배열에 요소를 모두 꺼내 한 차원에 변경

character = {
"name"   :  "기사" , 
"leber"  :  12,
"items"  :  {     "sword"  :  "풀플레이트 : str
                    "amor"   :  "풀플레이트"       },
"skill"  : ["베기", "세게 베기", "아주 세게 베기"]
}

for key in character:
    if type(character[key]) is dict:
       for k in character[key]:
          print("{} : {}".format(k, charater[key][k]))
    elif type(character[key]) is list:
       for item in character[key]:
          print("{} : {}".format(key, item))
else:
    print("{} : {}".format(key, charcter[key]))

! hint -  character[key]가 리스트 또는 딕셔너리라면, 추가로 [] 연산자를 써서 내부의 요소에 접근할 수 있습니다!

#print
sword : 불꽃의 검
armor : 풀플레이트
skill : 베기
skill : 세게 베기
skill : 아주 세게 베기