辞書
ディクショナリと呼ばれる別の Python 複合データ型を見てみましょう。これはオブジェクトのコレクションであるという点でリストに似ています。
辞書とリストには次の特徴があります。
- 両方とも変更可能です。
- どちらも動的です (必要に応じて拡大および縮小できます)。
- 両方ともネストできます(リストに別のリストを含めることができ、辞書に別の辞書を含めることができ、辞書にリストを含めることもできます。またその逆も可能です)
ディクショナリは、主に要素にアクセスする方法がリストとは異なります。
- リスト要素は、インデックス作成を通じてリスト内の位置によってアクセスされます。
- 辞書要素にはキーを使用してアクセスします。
辞書は Python で実装されたデータ構造であり、連想配列としてよく知られています。 辞書はセットで構成されます。キー ペア - 値。各キーと値のペアキーを対応する値にマッピングします。
辞書の作成
キーと値のペアのカンマ区切りのリストを中括弧( {} )で囲むことによって、辞書を定義できます。コロン( : )は各キーを区切ります。それに関連付けられた 1 つの値:
d = {
<キー>: <値>,
<キー>: <値>,
.
.
.
<キー>: <値>
}プレ>
組み込みの dict() 関数を使用して辞書を作成できます。 dict() 引数は、一連の key-value ペアである必要があります。タプルのリストはこれに適しています。
d = dict([
(<キー>、<値>)、
(<キー>、<値)、
.
.
.
(<キー>、<値>)
])
print() コマンドを使用するだけで、リストの内容を画面に表示できます。辞書内のエントリは、作成された順序で表示されます。
|
辞書要素にアクセスする
辞書の要素を操作するには、何らかの方法で要素にアクセスできる必要があります。インデックスで要素を取得できない場合は、どうすれば取得できますか?
値は、対応するキーを角かっこ ( [] ) で指定することによって辞書から取得されます。
たとえば、前のタスクで作成した辞書からアブハジアの首都を表示します。
print(dict_country['アブハジア'])
プレ>
辞書にないキーを参照すると、Python は例外をスローします。
print(dict_country['ロシア'])
プレ>
トレースバック (最新の呼び出し last ):< /span> ファイル "<...>"、行 ...、 <モジュール>
print(dict_country[& #39;ロシア'])
KeyError: 'ロシア' ;
辞書への要素の追加
既存の辞書にエントリを追加するのは、新しいキーと値を割り当てるのと同じくらい簡単です。
dict_country['ロシア'] = 'モスクワ'
辞書エントリの更新
エントリを更新したい場合は、既存のキーに新しい値を割り当てるだけです。
dict_country['ロシア'] = 'モスクワ'
辞書からエントリを削除
エントリを削除するには、del 演算子を使用して、削除するキーを指定します。
del dict_country[<key>]
辞書内の要素へのアクセスは順序に依存しませんが、Python では辞書内の要素の順序が確実に保持されます。表示される場合、要素は定義された順序で表示され、キーもその順序で繰り返されます。辞書に追加した項目は最後に追加されます。要素が削除された場合、残りの要素の順序は保持されます。
辞書のキーと辞書の要素は異なるタイプである可能性があることに注意してください。辞書には次の内容を含めることもできます。
d = {42: [2, 3, 6, 7], 2.78: 'bbb', True: 1}
print(d[42][1]) # 3 - ネストされた要素にアクセスするには、追加のキーまたはインデックスを使用します
プレ>
|
組み込み辞書メソッド
文字列、リスト、タプルについて学習したメソッドの一部は、辞書でも機能します。たとえば、 in (または not in ) メソッドを使用すると、辞書に特定のキーが存在します。
また、辞書のすべてのキーを確認することもできます。
dict_country のキーの場合:
print(key)
items() メソッドを使用して、キーと値のペアを反復処理することもできます。
dict_country.items() のキーと値の場合:
print(キー, 値)
その他の一般的に使用される方法を表に示します。
<テーブル>
<頭>
名前 |
メソッド |
説明(例) |
<本体>
辞書のサイズ |
len() |
辞書内の要素の数を返します
<プレ>
len(dict_country)
|
辞書を更新しています |
update() |
を使用すると、複数の辞書ペアを一度に更新できます。
<プレ>
dict_country.update({'ロシア': 'モスクワ', 'アルメニア': 'エレバン'}) < /前>
|
キーで値を取得 |
get() |
を使用すると、指定したキーによって値を取得できます。特定のキーが辞書に存在するかどうかを確認するために使用できます
<プレ>
dict_country.get('Russia') # キーごとに値を返します、
# そのようなキーがない場合は None を返します
dict_country.get('Russa', 0) # ロシアのキーがない場合は 0 を返します
# (0 の代わりに、任意の値を設定できます。
|
キーを削除 |
pop() |
pop() メソッドはキーを削除し、対応する値を返します。
<プレ>
dict_country.pop('バハマ')
|
辞書キー |
keys() |
keys() メソッドは、辞書内のキーのコレクションを返します。
<プレ>
dict_country.keys()
|
辞書の値 |
values() |
メソッドvalues() は、辞書内の値のコレクションを返します。
<プレ>
dict_country.values()
|
辞書ペア |
items() |
items() メソッドは、辞書内の値のコレクションを返します。
<プレ>
dict_country.items()
|
表>
|