728x90
딕셔너리와 리스트
구분 | 선언 형식 | 사용 예 |
리스트 | list_a = [ ] | list_a[1] |
딕셔너리 | dict_a = { } | dict_a["name"] |
리스트는 인덱스를 기반으로 값을 저장하는 것
딕셔너리는 키를 기반으로 값을 저장하는 것
딕셔너리와 for 반복문
for 키 변수 in 딕셔너리:
코드
p171 2번 문제:
pets = [
{"name": "구름", "age": 5},
{"name": "초코", "age": 3},
{"name": "아지", "age": 1},
{"name": "호랑이", "age": 2}
]
#format()을 사용하는 방법 (숫자 > 문자열)
print("# 우리 동네 애완 동물들")
for pet in pets:
print("{} {}살".format(pet["name"], pet["age"]))
#딕셔너리만 사용하는 방법
print("# 우리 동네 애완 동물들")
for pet in pets:
print(pet["name"], str(pet["age"])+"살")
p172 3번 문제: 조건문, 리스트, 딕셔너리, 반복문 조합
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 = {}
# 내가 푼 것 (list.count() 활용)
for number in numbers:
if number in counter:
pass
else:
counter[number] = numbers.count(number)
print(counter)
# 교재 답안
for number in numbers:
if number in counter:
counter[number] += 1
else:
# 초기화 하는 것
counter[number] = 1
print(counter)
p173 4번 문제:
character = {
"name": "기사",
"leve": 12,
"items": {
"sword": "불꽃의 검",
"armor": "풀플레이트"
},
"skill": ["베기", "세게 베기", "아주 세게 베기"]
}
# 내가 푼 것
for key in character:
if type(character[key]) is list:
for a in character[key]:
print(key, ":", a)
elif type(character[key]) is dict:
for b in character[key]:
print(b, ":", character[key][b])
else:
print(key, ":", character[key])
# 교재 정답
for key in character:
if type(character[key]) is dict:
for small_key in character[key]:
print(small_key, ":", character[key][small_key])
elif type(character[key]) is list:
for item in character[key]:
print(key, ":", item)
else:
print(key, ":", character[key])
4번 문제에서는 dict 안에 dict 에 접근하는 게 어려웠다.
한 번에 풀지 않고 차근차근 하나씩 빼보았더니 각각 요소에 어떻게 접근하는지 파악할 수 있게 되었다.
어제 리스트와 for 반복문 공부했을 때까지만 해도 아직 코드 읽기가 어렵고 어떻게 생각을 해야하는 건지 헷갈렸는데
아래 영상을 보고 감을 좀 잡을 수 있게 되었다. 어제는 문제 푸는 거 손도 못댔는데 오늘은 시도라도 해볼 수 있게 되어 기쁘다!
반응형
'컴퓨터 & 코딩 > Python' 카테고리의 다른 글
[혼공학습단 8기][혼공파] 5주차 미션 (0) | 2022.08.08 |
---|---|
[혼공학습단 8기][혼공파] while 반복문 + <stdin> line 1 Syntax Error (3주차 보충) (0) | 2022.08.04 |
[혼공학습단 8기][혼공파] 리스트와 for 반복문 (3주차 보충) (0) | 2022.07.29 |
[혼공학습단 8기][혼공파] 4주차 미션 (0) | 2022.07.28 |
[혼공학습단 8기][혼공파] 3주차 미션 (0) | 2022.07.19 |