ちょっと、そこ! ? Python プログラミングに取り組んでいる方は、おそらく辞書に遭遇し、「Python の辞書とは何だろう? よりスマートなコーディングにどのように役立つのだろう?」と疑問に思ったことがあるかもしれません。心配しないで、非常に簡単に説明しましょう。
アイテムのリストがあり、各アイテムに「名前: ジョン」や「年齢: 25」などの固有のラベルが付けられていると想像してください。 Python の辞書はまさにそのように機能します。これはキーと値のペアのコレクションであり、各キーは一意であり、特定の値を指します。これは、情報をきちんと整理して保存するためのミニ データベースと考えてください。
単語 (キー) を調べてその意味 (値) を取得する本物の辞書のようなものです。クールですよね? ?
辞書の作成は非常に簡単です。中括弧 {} を使用し、各キーと値のペアをコロン :.
で区切るだけです。簡単な辞書を作成する方法は次のとおりです:
# Creating a dictionary to store student information student_info = { 'name': 'John Doe', 'age': 21, 'major': 'Computer Science' } # Printing out the dictionary print(student_info)
この辞書には学生の名前、年齢、専攻が保存されています。 「名前」や「年齢」などのキーが引用符で囲まれていることに注意してください。それは、キーが文字列、数値、さらにはタプルになる可能性があるためです。値には、文字列、リスト、その他の辞書など、何でも構いません。
さて、ここからが興味深いところです。 DRY 原則 について聞いたことがあるかもしれません。これは、Don't Reply Yourself の略です。これは、コード内の冗長性を避けることを奨励するルールです。辞書はそれをどのように助けることができるでしょうか?見てみましょう。
学生に関する情報を別の変数に保存したいと想像してください。次のようになります:
student1_name = 'Alice' student1_age = 20 student1_major = 'Mathematics' student2_name = 'Bob' student2_age = 22 student2_major = 'Physics'
変数名が繰り返されるだけでなく、変数名を印刷または更新したい場合は、何度も繰り返す必要があります。ここで辞書が窮地を救ってくれます。 ?
辞書を使用すると、これらすべての情報をよりクリーンな方法で保存できます:
# Using dictionaries to store student data students = { 'student1': {'name': 'Alice', 'age': 20, 'major': 'Mathematics'}, 'student2': {'name': 'Bob', 'age': 22, 'major': 'Physics'} } print(students['student1']['name']) # Output: Alice print(students['student2']['age']) # Output: 22
これで、各学生の名前、年齢、専攻に対して個別の変数を作成する必要がなくなります。より簡単な方法で情報にアクセスしたり、情報を更新したりできます。さらに、コードがすっきりして管理しやすくなります。
学生のスコアに基づいた単純な評価システムを作成するとします。辞書がないと、次のように書くことになるかもしれません:
# Without dictionary (repeating code) alice_score = 90 bob_score = 75 charlie_score = 85 if alice_score >= 85: print("Alice gets an A") if bob_score >= 85: print("Bob gets an A") if charlie_score >= 85: print("Charlie gets an A")
ここでは、if ステートメントを繰り返し、各生徒の名前とスコアをハードコーディングしています。これは DRY 原則に違反しています。
代わりに、辞書を使用すると、次のような繰り返しを避けることができます:
# Using a dictionary (DRY principle) student_scores = {'Alice': 90, 'Bob': 75, 'Charlie': 85} for student, score in student_scores.items(): if score >= 85: print(f"{student} gets an A")
これで、よりクリーンで短く、保守しやすいコードが完成しました。 if ステートメントは 1 回記述するだけで、辞書内のすべての生徒に適用されます。 ?
ディクショナリには、ディクショナリの操作を簡単にする多数の組み込みメソッドが付属しています。いくつかチェックしてみましょう:
print(student_info.get('address', 'Address not available')) # Output: Address not available
print(student_info.keys()) # Output: dict_keys(['name', 'age', 'major']) print(student_info.values()) # Output: dict_values(['John Doe', 21, 'Computer Science'])
for key, value in student_info.items(): print(f'{key}: {value}') # Output: # name: John Doe # age: 21 # major: Computer Science
student_info.update({'grade': 'A'}) print(student_info) # Output: {'name': 'John Doe', 'age': 21, 'major': 'Computer Science', 'grade': 'A'}
student_info.setdefault('graduation_year', 2024) print(student_info) # Output: {'name': 'John Doe', 'age': 21, 'major': 'Computer Science', 'grade': 'A', 'graduation_year': 2024}
辞書は非常に強力で、コード内で DRY 原則に従うのに非常に役立ちます。辞書を使用すると、同じ作業の繰り返しを避け、コードを整理して、読みやすく、保守しやすくなります。
したがって、次回同じような変数を大量に作成することになった場合は、代わりに辞書を使用することを検討してください。時間と労力を大幅に節約できるので、将来の自分に感謝されるでしょう。 ?
コーディングを楽しんでください! ?
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3