Python - 辞書演習: 辞書をマスターするためのようなガイド
こんにちは、Pythonプログラマー志望の方!この素晴らしいPython辞書の世界への旅であなたのガイドとして、とても楽しみです。プログラミングを教えていることが多年的にある私は、辞書はPythonのスイスアーミーナイフのように、非常に多様で役立つものだと言えます。では、袖をまくって一緒に飛び込みましょう!
辞書とは?
演習に飛び込む前に、簡単に辞書について复习しましょう。キーワードを思い出せば即座にどんな情報も見つけられる魔法の本を想像してみてください。それは基本的にPythonの辞書と同じです!キーと値のペアのコレクションであり、各キーはそれに関連する値の一意の識別子として機能します。
以下は簡単な例です:
my_first_dict = {"name": "Alice", "age": 25, "city": "Wonderland"}
この辞書では、"name"、"age"、"city"はキーであり、"Alice"、25、"Wonderland"はそれぞれ対応する値です。
では、手を汚して演習を始めましょう!
辞書演習1: 辞書の作成とアクセス
タスク: お気に入りの本に関する辞書を作成し、その情報にアクセスします。
# ステップ1: 辞書を作成
favorite_book = {
"title": "The Hitchhiker's Guide to the Galaxy",
"author": "Douglas Adams",
"year": 1979,
"genre": "Science Fiction"
}
# ステップ2: 情報にアクセスし、印刷
print(f"私のお気に入りの本は{favorite_book['title']}で、著者は{favorite_book['author']}です。")
print(f"それは{favorite_book['year']}年に出版され、{favorite_book['genre']}小説です。")
これを分解してみましょう:
-
favorite_book
という名前の辞書を4つのキーと値のペアで作成します。 - キーによって値にアクセスするために、角括弧
[]
を使用します。 - f文字列を使って出力を整然としてフォーマットします。
このコードを実行すると、本のよくフォーマットされた説明が表示されます。素晴らしいでしょう?
チャレンジ: 新しいキーと値のペアを辞書に追加します
お気に入りのfavorite_book
辞書に新しい"rating"を追加してみてください。以下のようにします:
favorite_book["rating"] = 5
print(f"{favorite_book['title']}を5つ星の中で{favorite_book['rating']}つ星評価します!")
以下は翻訳の続きです:
辞書演習2: 辞書の修正
タスク: 週間スケジュールの辞書を作成し、修正します。
# ステップ1: スケジュール辞書を作成
weekly_schedule = {
"Monday": "Python class",
"Tuesday": "Gym",
"Wednesday": "Movie night",
"Thursday": "Study group",
"Friday": "Game night"
}
# ステップ2: 元のスケジュールを印刷
print("元のスケジュール:")
for day, activity in weekly_schedule.items():
print(f"{day}: {activity}")
# ステップ3: スケジュールを修正
weekly_schedule["Tuesday"] = "Yoga class"
weekly_schedule["Saturday"] = "Hiking"
# ステップ4: 更新されたスケジュールを印刷
print("\n更新されたスケジュール:")
for day, activity in weekly_schedule.items():
print(f"{day}: {activity}")
この演習では:
- 週間スケジュールの辞書を作成します。
-
.items()
メソッドを使って辞書を反復して、各曜日と活動を印刷します。 - 既存のエントリ("Tuesday")を修正し、新しいエントリ("Saturday")を追加します。
- 更新されたスケジュールを印刷して変更を確認します。
この演習は、辞書がどれだけ柔軟であるかを示しています。既存の情報を簡単に更新したり、必要に応じて新しいデータを追加したりできます。
辞書演習3: 辞書メソッド
タスク: ショッピングリストを使って便利な辞書メソッドを探します。
# ステップ1: ショッピングリスト辞書を作成
shopping_list = {
"apples": 5,
"bananas": 3,
"milk": 2,
"bread": 1
}
# ステップ2: get()メソッドを使用
print(f"私は{shopping_list.get('apples', 0)}個のりんごを買う必要があります。")
print(f"私は{shopping_list.get('oranges', 0)}個のオレンジを買う必要があります。")
# ステップ3: keys()メソッドを使用
print("\n私のショッピングリストのアイテム:")
for item in shopping_list.keys():
print(item)
# ステップ4: values()メソッドを使用
total_items = sum(shopping_list.values())
print(f"\n買う必要があるアイテムの合計数: {total_items}")
# ステップ5: pop()メソッドを使用
removed_item = shopping_list.pop('bread', '見つかりません')
print(f"\nリストから{removed_item}を削除しました。")
# ステップ6: 最終リストを印刷
print("\n最終ショッピングリスト:")
for item, quantity in shopping_list.items():
print(f"{item}: {quantity}")
この演習では、いくつかの便利な辞書メソッドを紹介します:
-
get()
: キーが存在しない場合にデフォルト値を返す安全に値を取得します。 -
keys()
: 辞書内のすべてのキーのビューを返します。 -
values()
: 辞書内のすべての値のビューを返します。 -
pop()
: キーと値のペアを削除し、値を返します。 -
items()
: すべてのキーと値のペアをタプルとしてビューを返します。
これらのメソッドを使うと、辞書を使った作業がとても簡単になります!
辞書プログラム
基本的な内容をカバーしたので、実用的なプログラムを見てみましょう。
プログラム1: シンプルな連絡先帳
def contact_book():
contacts = {}
while True:
action = input("何をしますか? (add/view/quit): ").lower()
if action == "quit":
break
elif action == "add":
name = input("連絡先の名前を入力してください: ")
number = input("連絡先の電話番号を入力してください: ")
contacts[name] = number
print(f"{name}を連絡先に追加しました。")
elif action == "view":
if contacts:
for name, number in contacts.items():
print(f"{name}: {number}")
else:
print("連絡先帳は空です。")
else:
print("無効なアクションです。もう一度お試しください。")
contact_book()
このプログラムは、連絡先を追加および表示するシンプルな連絡先帳を作成します。辞書を使って情報を保存し、検索するユーザーフレンドリーな方法を示しています。
プログラム2: 単語頻度カウンター
def word_frequency(sentence):
words = sentence.lower().split()
frequency = {}
for word in words:
frequency[word] = frequency.get(word, 0) + 1
return frequency
# 使用例
sample_text = "The quick brown fox jumps over the lazy dog. The dog barks."
result = word_frequency(sample_text)
print("単語の頻度:")
for word, count in result.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