Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで辞書(dict)を定義する基本と使い方をわかりやすく解説

Pythonの辞書(dictionary)オブジェクトは、キーと値のペアを要素とするコレクションです。各ペアはカンマ(,)で区切り、全体を波括弧({})で囲んで定義します。キーと値の対応関係は、コロン(:)で表します。

辞書の基本的な定義方法

最もシンプルな辞書の定義例は以下の通りです。文字列をキーに、数値を値として格納しています。

>>> D1={'a':1,'b':2,'c':3}

キーと値のルール

辞書において、同じキーは1つの辞書内に一度しか出現できません。一方、値は複数のキーに対して同じものを割り当てることが可能です。

また、キーにはイミュータブル(変更不可)なデータ型、つまり数値・文字列・タプルなどを使用する必要があります。リストのようなミュータブルな型はキーとして使えない点に注意しましょう。

さまざまなデータ型を使った定義例

数値やタプルをキーにしたり、リストを値にしたりすることもできます。

>>> D2={1:'aaa', 2:'bbb', 3:'ccc'}
>>> D3={(10,10):'x1', (20,20):'x2'}
>>> D4={'Microsoft':['MS Office', 'Windows', 'C#'], 'Oracle':['Oracle', 'Java', 'MySQL']}

まとめ

Pythonの辞書は「{キー: 値}」の形式で波括弧を使って定義します。キーは重複不可かつイミュータブルな型であること、値には任意のオブジェクトを指定できることを押さえておくと、実務でも安心して活用できます。

  1. Pythonで辞書を反復処理する2つの方法をわかりやすく解説

    Pythonの辞書(dict)オブジェクトを反復処理する方法は主に2つあります。1つ目は、keys()メソッドでキーのリストを取得し、各キーに対応する値を取り出す方法です。keys()メソッドを使った反復処理>>> D1 = {1:a, 2:b, 3:c} >>> for k in D1.keys(): print (k, D1[k]) 1 a 2 b 3 c keys()メソッドは辞書内のすべてのキーを返します。ループ内でキーを変数kに受け取り、D1[k]のように記述することで、そのキーに関連付けられた値へアクセスできます。items()メソッドを

  2. Pythonで文字列を辞書(dict)に変換する方法|ast.literal_evalとjson.loadsの使い分け

    Pythonでは、文字列形式で表現された辞書データを実際のdictオブジェクトに変換したい場面がよくあります。主な方法としては、標準ライブラリの ast.literal_eval() を使う方法と、json モジュールを使う方法の2つがあります。それぞれの特徴と使い方を詳しく見ていきましょう。 方法1:ast.literal_eval() を使う ast.literal_eval() は、文字列をPythonの式として安全に評価する関数です。任意のコードを実行できてしまう eval() とは異なり、リテラル構造以外は評価しないため、セキュリティ面でも安心して利用できます。 評価できるのは、文