【ディープラーニング】Python・NumPyシリーズチュートリアル⑥:Pythonコンテナ:4、辞書詳細解説(初期化、要素へのアクセス、共通操作、共通関数、トラバーサル、分析)

目次

I.はじめに

2. 実験環境

3. Python コンテナ

0. コンテナの紹介

4. 辞書

0. 基本的な概念

1. 初期化

a. {} を使用して辞書を作成します

b. dict() 関数を使用して辞書を作成します。

2. 辞書要素にアクセスする

a. 角括弧 [] を使用します。

b. get() メソッドを使用する

3. 辞書に対する共通操作

a. 要素を追加または変更する

b. 要素の削除

c. キーが存在するかどうかを確認します。

d. 辞書の長さ

4. よく使う辞書機能

key(): 辞書内のすべてのキーを返します。

value(): 辞書内のすべての値を返します

items(): ディクショナリ内のすべてのキーと値のペアを返します。

copy(): 辞書をコピーします

clear(): 辞書内のすべての要素をクリアします。

5.トラバース

a. トラバースキー(キー)

b. トラバース値(Values)

c. キーと値のペア (項目) を走査する

6. 辞書の解析


I.はじめに

        Python は、1991 年に Guido van Rossum によって作成された高級プログラミング言語です。簡潔で読みやすい構文、強力な機能、幅広いアプリケーションで知られています。Python には、Web 開発、データ分析、人工知能、科学技術コンピューティング、自動化スクリプトなど、さまざまな種類のアプリケーションの開発に使用できる標準ライブラリとサードパーティ ライブラリが豊富にあります。

        Python 自体は優れた汎用プログラミング言語であり、いくつかの人気のあるライブラリ (numpy、scipy、matplotlib) の助けを借りて、科学技術コンピューティングのための強力な環境となっています。このシリーズでは、Python プログラミング言語と、主に次のような科学技術計算に Python を使用する方法を紹介します。

  • Python: プリミティブ データ型、コンテナ (リスト、タプル、セット、辞書)、関数、クラス
  • Numpy: 配列、配列のインデックス付け、データ型、配列の演算、ブロードキャスト
  • Matplotlib: プロット、サブプロット、画像
  • IPython: ノートブックの作成、一般的なワークフロー

2. 実験環境

        Python 3.7

        次のコマンドを実行して Python のバージョンを確認します。

 python --version 

3. Python コンテナ

0. コンテナの紹介

        Python のコンテナは、データを保存および整理するために使用されるオブジェクトです。一般的なコンテナには、リスト、タプル、セット、辞書が含まれます。

  • リストは、さまざまなタイプの要素を含めることができる順序付けされた変更可能なコンテナーであり、角括弧 ([]) を使用して作成されます。
my_list = [1, 2, 3, 'a', 'b', 'c']
  • タプルは、順序付けされた不変のコンテナであり、さまざまなタイプの要素を含めることもでき、かっこ (()) を使用して作成されます。
my_tuple = (1, 2, 3, 'a', 'b', 'c')
  • セットは、一意の要素を格納するために使用される順序付けされていない重複のないコンテナであり、中括弧 ({}) または set() 関数を使用して作成されます。
my_set = {1, 2, 3, 'a', 'b', 'c'}
  •  ディクショナリは、一意のキーを持つ値を保存するために使用されるキーと値のペアの順序付けされていないコンテナであり、中括弧 ({}) または dict() 関数を使用して作成されます。
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}

        これらのコンテナは、データの保存、アクセス、処理のためのさまざまな方法と操作を提供します。特定のニーズに基づいて、適切なコンテナのタイプを選択できます。

1. リスト

【ディープラーニング】PythonとNumPyシリーズチュートリアル(3):Pythonコンテナ:1.リストの詳細解説(初期化、インデックス作成、スライス、更新、削除、共通関数、アンパック、トラバース)_QomolangmaH's Blog-CSDN Bloghttps: icon-default.png?t=N7T8//blog.html csdn.net/m0_63834988/article/details/132768246?spm=1001.2014.3001.5501

2.タプル

【ディープラーニング】PythonとNumPyシリーズチュートリアル(4):Pythonコンテナ:2.タプル詳細解説(初期化、インデックス付けとスライス、タプルの機能、共通操作、アンパッキング、トラバーサル)_QomolangmaH's Blog-CSDN Bloghttps://blog.csdn icon-default.png?t=N7T8. net/m0_63834988/article/details/132777307?spm=1001.2014.3001.5501

3.セット

【ディープラーニング】PythonとNumPyシリーズチュートリアル( 5):Pythonコンテナ:3.セットの詳細説明(初期化、アクセス要素、共通操作、共通関数)icon-default.png?t=N7T8

4. 辞書

0. 基本的な概念

        ディクショナリは、変更可能で順序付けされていないキーと値のペアのコレクションです。辞書内の要素はキー (key) と対応する値 (value) で構成され、各キーと値はコロン (:) で区切られ、キーと値のペア全体はカンマ (,) で区切られ、辞書全体は中括弧 ({}) で囲まれています。

  • キーと値のペア (キー、値): キーはデータ インデックスの拡張です。
    • キー: 不変のデータ型
      • 数値(整数/浮動小数点数)、文字列、タプルなど。
    • 値: 任意のデータ型
  • 基本モード: {<key1>:<value1>, <key2>:<value2>, …, <keyn>:<valuen>}

1. 初期化

a. 次を使用して{}辞書を作成します。

        中括弧 ({}) を使用して空の辞書を作成するか、キーと値のペアを使用して空ではない辞書を初期化します。

# 创建一个空字典
empty_dict = {}

# 创建一个非空字典
student = {"name": "John", "age": 20, "grade": "A"}

b.dict()関数を使用して辞書を作成する

  dict()キーと値のペアの引数を渡すか、タプルやリストなどの反復可能なオブジェクトによって辞書を作成する関数。

  • パラメータを渡す
student = dict(name="John", age=20, grade="A")
  • 反復可能なオブジェクト経由
student_info = [("name", "John"), ("age", 20), ("grade", "A")]
student = dict(student_info)

2. 辞書要素にアクセスする

a. 角括弧を使用する []

        辞書内の値にはキーを介してアクセスできます。

student = {"name": "John", "age": 20, "grade": "A"}

print(student["name"])
print(student["age"])

出力は次のとおりです。

John
20

b. 使用get() 方法

        get() メソッドはキーをパラメータとして受け入れ、対応する値を返すことができます。キーがディクショナリに存在しない場合、get() メソッドは戻ります 。または 、キーが存在しない場合に返すメソッドの 2 番目の引数としてNoneデフォルト値を指定することもできます 。get()

student = {"name": "John", "age": 20, "grade": "A"}

print(student.get("name"))
print(student.get("address", "N/A"))

出力は次のとおりです。

John
N/A

3. 辞書に対する共通操作

a. 要素を追加または変更する

        代入ステートメントを使用して、ディクショナリ内の要素を追加または変更します。

student = {"name": "John", "age": 20, "grade": "A"}

student["age"] = 21  # 修改年龄
student["address"] = "123 Main St"  # 添加地址

print(student)

出力は次のとおりです。

{'name': 'John', 'age': 21, 'grade': 'A', 'address': '123 Main St'}

b. 要素の削除

delステートメントまたはメソッドを        使用してpop()、辞書から要素を削除します。

student = {"name": "John", "age": 20, "grade": "A"}

del student["age"]  # 删除年龄
student.pop("grade")  # 删除成绩

print(student)

出力は次のとおりです。

{'name': 'John'}

c. キーが存在するかどうかを確認します。

        キーワードを使用して、in指定したキーが辞書に存在するかどうかを確認します。

student = {"name": "John", "age": 20}

print("name" in student)  # True
print("grade" in student)  # False

出力は次のとおりです。

True
False

d. 辞書の長さ

student = {"name": "John", "age": 20, "grade": "A"}
length = len(student)
print(length)  # 输出:3

        上の例では、len()関数を使用してstudent辞書の長さを取得し、結果を出力します。結果は 3 です。これは、ディクショナリ内に 3 つのキーと値のペアがあることを意味します。

4. よく使う辞書機能

keys(): 辞書内のすべてのキーを返します。

values(): 辞書内のすべての値を返します

items(): 辞書内のすべてのキーと値のペアを返します。

copy():辞書をコピー

clear(): 辞書内のすべての要素をクリアします

student = {"name": "John", "age": 20, "grade": "A"}

print(student.keys())
print(student.values())
print(student.items())

student_copy = student.copy()
student.clear()

print(student_copy)
print(student)

出力は次のとおりです。

dict_keys(['name', 'age', 'grade'])
dict_values(['John', 20, 'A'])
dict_items([('name', 'John'), ('age', 20), ('grade', 'A')])
{'name': 'John', 'age': 20, 'grade': 'A'}
{}

5.トラバース

a. トラバースキー(キー)

        メソッドを使用して、keys()辞書内のすべてのキーを取得し、それらを走査できます。例は次のとおりです。

student = {"name": "John", "age": 20, "grade": "A"}

for key in student.keys():
    print(key)

出力は次のとおりです。

name
age
grade

b. トラバース値(Values)

        メソッドを使用してvalues()辞書内のすべての値を取得し、それらを反復処理できます。例は次のとおりです。

student = {"name": "John", "age": 20, "grade": "A"}

for value in student.values():
    print(value)

出力は次のとおりです。

John
20
A

c. キーと値のペア (項目) を走査する

        このメソッドを使用すると、items()ディクショナリ内のすべてのキーと値のペアを取得し、それらを走査できます。例は次のとおりです。

student = {"name": "John", "age": 20, "grade": "A"}

for key, value in student.items():
    print(key, value)

出力は次のとおりです。

name John
age 20
grade A

6. 辞書の解析

        for ループと新しい要素を作成するコードを 1 行に結合して、新しい要素が自動的に追加されるようにします。

original_dict = {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}

new_dict = {key: value for key, value in original_dict.items() if value % 2 == 0}

print(new_dict)

出力:

{'b': 2, 'd': 4}

おすすめ

転載: blog.csdn.net/m0_63834988/article/details/132780196