Python - 사전 운동: 여러분의 친절한 가이드로 사전을 마스터링 하세요

안녕하세요, PYthon 프로그래머를 꿈꾸고 계신분! 여러분의 이 흥미로운 PYthon 사전의 세계로의 여행을 안내해 드리게 되어 기쁩니다. 여러년間 프로그래밍을 가르치며 있었던 저는 사전은 PYthon의 스위스军刀 같다고 말할 수 있습니다. 정말 다재다능하고 유용합니다. 그럼, 손을 씻고 몸을 던지며 시작해 보겠습니다!

Python - Dictionary Exercises

사전이란 무엇인가요?

연습에 들어가기 전에 간단히 사전이란 무엇인지 다시 한번 정리해 보겠습니다. 키워드 하나만 생각만 해도 즉시 정보를 찾을 수 있는 마법의 책을 상상해 보세요. 이것이 바로 PYthon 사전의 역할입니다! 키와 값의 쌍이 모인 모음입니다. 각 키는 해당 값에 대한 고유한 식별자로 작동합니다.

다음은 간단한 예시입니다:

제 첫 번째 사전 = {"name": "Alice", "age": 25, "city": "Wonderland"}

이 사전에서 "name", "age", "city"은 키이고, "Alice", 25, "Wonderland"은 각각의 값입니다.

이제 손을 더러워 몇 가지 운동을 해봅시다!

사전 운동 1: 사전 만들기 및 접근

과제: 여러분이 좋아하는 책에 대한 사전을 만들고 정보에 접근하세요.

# 단계 1: 사전을 만듭니다
좋아하는책 = {
"title": "The Hitchhiker's Guide to the Galaxy",
"author": "Douglas Adams",
"year": 1979,
"genre": "Science Fiction"
}

# 단계 2: 정보에 접근하고 인쇄합니다
print(f"내가 좋아하는 책은 {좋아하는책['title']}이고 저자는 {좋아하는책['author']}입니다.")
print(f"이 책은 {좋아하는책['year']}년에 발행되었고 {좋아하는책['genre']} 소설입니다.")

이것을 분석해 보겠습니다:

  1. 우리는 네 개의 키-값 쌍을 가진 좋아하는책라는 사전을 만듭니다.
  2. 키를 통해 값에 접근하기 위해 꺾쇠괄호 []를 사용합니다.
  3. 우리는 f-스트링을 사용하여 출력을 깔끔하게 포맷합니다.

이 코드를 실행하면 책에 대한 멋진 설명을 볼 수 있습니다. 멋지죠?

도전 과제: 사전에 새로운 키-값 쌍을 추가하세요

좋아하는책 사전에 "등급"을 추가해 보세요. 이렇게 하면 됩니다:

좋아하는책["rating"] = 5
print(f"저는 {좋아하는책['title']}에 5점 중 {좋아하는책['rating']}점을 주었습니다!")

사전 운동 2: 사전 수정

과제: 주간 일정에 대한 사전을 만들고 수정하세요.

# 단계 1: 일정 사전을 만듭니다
주간일정 = {
"Monday": "Python class",
"Tuesday": "Gym",
"Wednesday": "Movie night",
"Thursday": "Study group",
"Friday": "Game night"
}

# 단계 2: 원래 일정을 인쇄합니다
print("Original schedule:")
for day, activity in 주간일정.items():
print(f"{day}: {activity}")

# 단계 3: 일정을 수정합니다
주간일정["Tuesday"] = "Yoga class"
주간일정["Saturday"] = "Hiking"

# 단계 4: 업데이트된 일정을 인쇄합니다
print("\nUpdated schedule:")
for day, activity in 주간일정.items():
print(f"{day}: {activity}")

이 운동에서는 다음을 수행합니다:

  1. 우리는 주간 일정에 대한 사전을 만듭니다.
  2. .items() 메서드를 사용하여 사전을 반복하고 각 날짜와 활동을 인쇄합니다.
  3. 기존 항목을 수정하고 ("Tuesday") 새로운 항목을 추가합니다 ("Saturday").
  4. 업데이트된 일정을 인쇄하여 변경 사항을 확인합니다.

이 운동은 사전이 얼마나 유연한지를 보여줍니다. 기존 정보를 쉽게 업데이트하거나 새로운 데이터를 추가할 수 있습니다.

사전 운동 3: 사전 메서드

과제: 유용한 사전 메서드를 사용하여 쇼핑 목록을 만듭니다.

# 단계 1: 쇼핑 목록 사전을 만듭니다
쇼핑목록 = {
"apples": 5,
"bananas": 3,
"milk": 2,
"bread": 1
}

# 단계 2: get() 메서드 사용
print(f"저는 {쇼핑목록.get('apples', 0)}개의 사과를 사야 합니다.")
print(f"저는 {쇼핑목록.get('oranges', 0)}개의 오렌지를 사야 합니다.")

# 단계 3: keys() 메서드 사용
print("\n내 쇼핑 목록에 있는 아이템들:")
for item in 쇼핑목록.keys():
print(item)

# 단계 4: values() 메서드 사용
총아이템수 = sum(쇼핑목록.values())
print(f"\n총 사야 할 아이템 수: {총아이템수}")

# 단계 5: pop() 메서드 사용
제거된아이템 = 쇼핑목록.pop('bread', 'Not found')
print(f"\n{제거된아이템}를 목록에서 제거했습니다.")

# 단계 6: 최종 목록 인쇄
print("\n최종 쇼핑 목록:")
for item, quantity in 쇼핑목록.items():
print(f"{item}: {quantity}")

이 운동에서 몇 가지 유용한 사전 메서드를 소개합니다:

  • get(): 안전하게 값을 꺼내오며, 키가 존재하지 않으면 기본값을 반환합니다.
  • keys(): 사전의 모든 키에 대한 뷰를 반환합니다.
  • values(): 사전의 모든 값에 대한 뷰를 반환합니다.
  • pop(): 키-값 쌍을 제거하고 값을 반환합니다.
  • items(): 모든 키-값 쌍을 튜플로 반환합니다.

이 메서드들은 사전을 사용할 때 매우 편리합니다!

사전 프로그램

이제 기본을 다루었으므로, 사전을 사용한 실용적인 프로그램들을 살펴보겠습니다.

프로그램 1: 간단한 연락처 북

def 연락처북():
연락처들 = {}
while True:
action = input("어떤 작업을 하시겠습니까? (add/view/quit): ").lower()
if action == "quit":
break
elif action == "add":
name = input("연락처의 이름을 입력하세요: ")
number = input("연락처의 번호를 입력하세요: ")
연락처들[name] = number
print(f"{name}을(를) 연락처에 추가했습니다.")
elif action == "view":
if 연락처들:
for name, number in 연락처들.items():
print(f"{name}: {number}")
else:
print("연락처 북이 비어 있습니다.")
else:
print("올바른 작업이 아닙니다. 다시 시도해 주세요.")

연락처북()

이 프로그램은 연락처를 추가하고 볼 수 있는 간단한 연락처 북을 만듭니다. 사전을 사용하여 정보를 저장하고 검색할 수 있게 해주는 방법을 보여줍니다.

프로그램 2: 단어 빈도수 계산기

def 단어빈도수(문장):
words = 문장.lower().split()
frequency = {}
for word in words:
frequency[word] = frequency.get(word, 0) + 1
return frequency

# 예시 사용
샘플텍스트 = "The quick brown fox jumps over the lazy dog. The dog barks."
결과 = 단어빈도수(샘플텍스트)
print("Word frequencies:")
for word, count in 결과.items():
print(f"{word}: {count}")

이 프로그램은 주어진 문장에서 단어의 빈도수를 계산합니다. 사전을 사용하여 데이터 분석과 발생 횟수를 세는 방법을 보여줍니다.

결론

축하합니다! 여러분은 PYthon 사전에 대한 흥미로운 여행을 마친 것입니다. 사전을 만들고 접근하고 수정하며, 내장된 메서드를 사용하는 등 여러분은 많은 것을 배웠습니다. 기억하십시오, 연습이 완벽을 만든다는 말이 있습니다. 여러분의 프로젝트에서 이 개념들을 실험해 보지 마세요.

사전은 PYthon에서 매우 강력한 도구입니다. 이를 마스터하면 프로그래밍 여정에서 많은 가능성이 열리게 될 것입니다. 계속 코딩하고, 호기심을 지켜주시고, 가장 중요한 것은 즐기세요! 누谁知道? 여러분은 PYthon의 글쓰기 가이드를 정리하는 데 사전을 사용할 수 있을지도 모릅니다! ??

메서드 설명 예시
get() 키에 대한 값을 꺼내오며, 키가 존재하지 않으면 기본값을 반환합니다 dict.get('key', default_value)
keys() 사전의 모든 키에 대한 뷰를 반환합니다 dict.keys()
values() 사전의 모든 값에 대한 뷰를 반환합니다 dict.values()
items() 모든 키-값 쌍을 튜플로 반환합니다 dict.items()
pop() 키-값 쌍을 제거하고 값을 반환합니다 dict.pop('key', default_value)
update() 다른 사전이나 키-값 쌍 이터러블을 사용하여 사전을 업데이트합니다 dict.update({'new_key': 'new_value'})
clear() 사전의 모든 항목을 제거합니다 dict.clear()
copy() 사전의 얕은 복사를 반환합니다 new_dict = dict.copy()
setdefault() 키가 존재하면 값을 반환하고, 그렇지 않으면 키에 기본값을 설정합니다 dict.setdefault('key', default_value)
fromkeys() 지정된 키와 값으로 새로운 사전을 만듭니다 dict.fromkeys(['key1', 'key2'], value)

Credits: Image by storyset