자료구조에 논리를 얹다
기본 딕셔너리를 넘어, 이번엔 조건문·반복문과 결합하는 문제들을 풀었다. 자료구조는 데이터를 담는 그릇일 뿐이고, 그 그릇을 쓸모 있게 만드는 건 결국 흐름 제어라는 걸 체감했다.
딕셔너리와 if의 만남
가게 물품을 {이름: 가격} 으로 저장해두고, 사용자가 입력한 이름의 가격을 알려주는 로직. 없는 물건을 입력하면 실행을 중단하도록 조건을 걸었다.
store = {"사과": 1000, "바나나": 1500}
name = input("물건 이름: ")
if name in store:
print(f"{name}의 가격은 {store[name]}원입니다.")
else:
print("판매하지 않는 물건입니다.")in 연산자로 키 존재 여부를 먼저 확인하는 습관이 중요했다.
중첩 구조 다루기
- 딕셔너리 값으로 리스트를 넣어 물품 목록을 확장
- 딕셔너리 값으로 또 다른 딕셔너리를 넣어 학생별 과목·점수 표를 표현
for key, value in dict.items():로 중첩 구조를 순회하며 원하는 값만 뽑아내기
정리
같은 문제라도 1안·2안·정답을 각각 써보며 "더 짧게, 더 읽기 좋게" 다듬는 연습을 했다. 딕셔너리 + 반복문 + 조건문의 조합은 이후 API 응답(JSON)을 파싱하고 필터링하는 데이터 수집 코드로 그대로 이어졌다.