Python辞書
Dictionary は別の変更可能なコンテナ モデルであり、あらゆる種類のオブジェクトを格納できます。
辞書内の各キーと値 (key=>value) のペアはコロン (:) で区切られ、各ペアはカンマ (,) で区切られ、辞書全体が中括弧で囲まれています。 ({}) 、形式は次のとおりです:
キーは一意である必要がありますが、値は一意ではありません。
値は任意のデータ型にすることができますが、キーは文字列、数値、タプルなど不変である必要があります。
簡単な辞書の例:
次のような辞書を作成することもできます:
dict2 = { 'abc': 123, 98.6: 37 };
辞書内の値にアクセスします
対応するキーを使い慣れた角かっこ内に配置します。次の例のように:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print "dict ['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];
上記の例の出力結果:
dict[ 'Age']: 7
辞書にないキーを使用してデータにアクセスすると、次のようなエラーが出力されます:
dict = {'名前': 'ザラ', '年齢': 7, 'クラス': '初'};
print "dict['アリス']: ", dict['アリス'];
上記の例の出力結果:
Traceback (most最近の呼び出し最後):
File "test.py", line 4, in <module>
print "dict ['アリス']: ", dict['アリス'];
KeyError: 'アリス'
辞書を変更する
新しいコンテンツを辞書に追加するには、次のように新しいキーと値のペアを追加し、既存のキーと値のペアを変更または削除します:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
dict['Age'] = 8; # 既存のエントリを更新
dict['School'] = " DPS School "; # 新しいエントリを追加
print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];
dict['School']: DPS School
辞書の要素を削除する
単一の要素を削除することも、辞書をクリアすることもできます。クリアには 1 つだけ必要です。手術。
次の例に示すように、del コマンドを表示して辞書を削除します:
# -*-coding: UTF-8 -*-
dict = {'Name' : 'Zara', 'Age': 7, 'Class': 'First'};
del dict['Name']; # キーが 'Name' のエントリを削除
dict.clear(); # すべてクリア辞書のエントリ
del dict ; # 辞書を削除
print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];
しかし、del を使用した後は辞書が存在しないため、これは例外をトリガーします:
Traceback (most 最新の呼び出し最後):
ファイル "test.py"、行 8、 in <module>
print "dict ['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable
注: del() メソッドについても後で説明します。
ディクショナリキーの特徴
ディクショナリ値は、標準オブジェクトまたはユーザー定義のいずれかの Python オブジェクトを制限なく受け取ることができますが、キーはそれができません。
覚えておくべき 2 つの重要な点:
1) 同じキーを 2 回使用することはできません。作成中に同じキーが 2 回割り当てられた場合、次の例のように、後者の値が記憶されます:
dict = {'Name': 'Zara', ' 年齢': 7, '名前': 'マンニ'};
print "dict['名前']: ", dict['名前'];
上記の例の出力結果:
2) キーは不変である必要があるため、数値、文字列、またはタプルとして使用できるため、リストは機能しません。次の例に示すように:
dict = {['Name']: 'Zara', 'Age': 7};
print "dict['Name'] : ", dict['Name'] ;
上記の出力例:
ファイル "test.py"、行 3、<module>
dict = { ['Name']: 'Zara', 'Age': 7};
TypeError: list object are unhashable
辞書の組み込み関数とメソッド
Python 辞書には次の組み込み関数が含まれています:
シリアル番号 | 機能と説明 |
---|---|
1 | cmp(dict1, dict2) 2 つの辞書要素を比較します。 |
2 | len(dict) 辞書の要素の数、つまりキーの総数を計算します。 |
3 | str(dict) 辞書の印刷可能な文字列表現を出力します。 |
4 | type(variable) 入力変数のタイプを返します。変数が辞書の場合は、辞書のタイプを返します。 |
Python 辞書には次の組み込みメソッドが含まれています:
シリアル番号 | 関数と説明 |
---|---|
1 | radiansdict.clear() 辞書内のすべての要素を削除します |
2 | radiansdict .copy() 辞書の浅いコピーを返します |
3 | radiansdict.fromkeys() シーケンス seq 内の要素を辞書のキーとして使用し、val を使用して新しい辞書を作成します辞書内のすべてのキーに対応する初期値です |
4 | radiansdict.get(key,default=None) 指定されたキーの値を返します。値が辞書にない場合は、デフォルト値を返します |
5 | radiansdict.has_key(key) キーが辞書辞書にある場合はtrueを返し、それ以外の場合はfalseを返します |
6 | radiansdict.items() 走査可能な(キー、値)タプルを返します配列をリストとして返す |
7 | radiansdict.keys() リストをリストとして返す 辞書内のすべてのキー |
8 | radiansdict.setdefault(key,default=None) get( と同様) ただし、キーが辞書に存在しない場合は、キーが追加され、値がデフォルトに設定されます |
9 | radiansdict.update(dict2) 辞書 dict2 のキーと値のペアを次のように更新します。 dict |
10 | radiansdict.values() 辞書内のすべての値をリストとして返します |