【Python組み込み型】「dict」のサンプルコード

Python

こちらは「dict」(Python組み込み型)のサンプルコードについての記事となっております。

基本情報 … Basic Information

Pythonの「dict」は、キーと値のペアを持つ、可変長のデータ型です。辞書は、キーを使用して値にアクセスできるハッシュテーブルのようなもので、高速な検索が可能です。キーはイミュータブルな型である必要がありますが、値には何でも使えます。例えば、文字列、数値、リスト、タプル、セット、その他の辞書、さらには関数なども値にすることができます。辞書は波括弧 {} で囲まれたキーと値のペアの集合で表現されます。

チートシート … Cheat Sheet

Create a Empty Dicta = {}{}
Create a Empty Dicta = dict(){}
Create a Dicta = {1:”one”,2:”two”,3:”three”}{1: ‘one’, 2: ‘two’, 3: ‘three’}
Create a Dicta = dict(zip(list,list)){1: ‘one’, 2: ‘two’, 3: ‘three’}
Delete a Dictdel a
Get a Length of the Dicta=len(input_dict)A. {}
B. {1:”one”,2:”two”,3:”three”}
A. 0
B. 3
Get a Type of the Dicta=type(input_dict)A. {}
B. {1:”one”,2:”two”,3:”three”}
A. <class ‘dict’>
B. <class ‘dict’>
Get a Value of the Dict with Keya=input_dict[key]A. {1:”one”,2:”two”,3:”three”}, 1
B. {1:”one”,2:”two”,3:”three”}, 4
A. one
B. KeyError
Get a Value of the Dict with Keya=input_dict.get(key)A. {1:”one”,2:”two”,3:”three”}, 1
B. {1:”one”,2:”two”,3:”three”}, 4
A. one
B. None
Get a Value of the Dict with Keya=input_dict.get(key,except){1:”one”,2:”two”,3:”three”}, 4, “N/A”N/A
Edit a Dict with Key, Valueinput_dict[key] = new_valA. {1:”one”,2:”two”,3:”three”}, 1, “hundred”
B. {1:”one”,2:”two”,3:”three”}, 4, “hundred
A. {1: ‘hundred’, 2: ‘two’, 3: ‘three’}
B. {1: ‘hundred’, 2: ‘two’, 3: ‘three’, 4:’hundred’}
Delete Key and Value of Dictinput_dict.clear(){1: ‘one’, 2: ‘two’, 3: ‘three’}{}
Create a Dict with the Dict Copy a Dicta = input_dict.copy(){1: ‘one’, 2: ‘two’, 3: ‘three’}{1: ‘one’, 2: ‘two’, 3: ‘three’}
Create a Dict with Itera = dict.fromkeys(iter)[1,2,3]{1: None, 2: None, 3: None}
Create a Dict with Iter, Valuea = dict.fromkeys(iter,value)A. [1,2,3], 0
B. (1,2,3), 0
{1: 0, 2: 0, 3: 0}
Edit a Dict with the Key
Pop a Value of the Dict
a = input_dict.pop(key)
*KeyError
A. {1:”one”,2:”two”,3:”three”}, 1
B. {1:”one”,2:”two”,3:”three”}, 4
A. one
B. KeyError
Edit a Dict with the Key
Pop a Value of the Dict
a = input_dict.pop(key,except){1:”one”,2:”two”,3:”three”}, 4, “N/A”N/A
Edit a Dict with Keya = dict.setdefault(key)A. {1:”one”,2:”two”,3:”three”}, 1
B. {1:”one”,2:”two”,3:”three”}, 4
A. {1: ‘one’, 2: ‘two’, 3: ‘three’}
B. {1: ‘one’, 2: ‘two’, 3: ‘three’, 4: None}
Edit a Dict with Key, Valuea = dict.setdefault(key, value)A. {1:”one”,2:”two”,3:”three”}, 1,”ichi”
B. {1:”one”,2:”two”,3:”three”}, 4,”yon”
A. {1: ‘one’, 2: ‘two’, 3: ‘three’}
B. {1: ‘one’, 2: ‘two’, 3: ‘three’, 4: ‘yon’}
Edit a Dict with Dictinput_dict.update(pair_dict)A. {1:”one”,2:”two”,3:”three”}, {4:”four”}
B. {1:”one”,2:”two”,3:”three”}, {1:”ichi”}
C. {1:”one”,2:”two”,3:”three”}, {1:”ichi”,4:”four”}
A. {1: ‘one’, 2: ‘two’, 3: ‘three’, 4: ‘four’}
B. {1: ‘ichi’, 2: ‘two’, 3: ‘three’, 4: ‘four’}
C. {1: ‘ichi’, 2: ‘two’, 3: ‘three’, 4: ‘four’}
Get a Pair of Key and Valuea = dict.popitem()A. {1:”one”,2:”two”,3:”three”}
B. {}
A. {3, ‘three’}
B. KeyError
Loop with Key, Valuefor key, val in input_dict.items(): print(key,val){1:”one”,2:”two”,3:”three”}1 one
2 two
3 three
Loop with Keyfor key in input_dict.keys(): print(key){1:”one”,2:”two”,3:”three”}1
2
3
Loop with Valuefor key in input_dict.values(): print(key){1:”one”,2:”two”,3:”three”}one
two
three

サンプルコード … Sample Code

### Create Dict
EMPTY_DICT   = {}   ### dict()
INT_STR_DICT = {1:"one",2:"two",3:"three"}              ### {1: 'one', 2: 'two', 3: 'three'}
INT_STR_DICT = dict(zip([1,2,3],["one","two","three"])) ### {1: 'one', 2: 'two', 3: 'three'}

### Delete Dict
### del dict
INT_STR_DICT = {1:"one",2:"two",3:"three"}
del INT_STR_DICT

### Read Length
### len(dict)
INT_STR_DICT = {1:"one",2:"two",3:"three"}
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three'}
### print(len(INT_STR_DICT))                    ### 3

### Read Type
### type(dict)
INT_STR_DICT = {1:"one",2:"two",3:"three"}
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three'}
### print(type(INT_STR_DICT))                   ### <class 'dict'>

### Read Value at target_key
### dict[target_key]
INT_STR_DICT = {1:"one",2:"two",3:"three"}
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three'}
### print(INT_STR_DICT[1])                      ### one

### Edit Value at target_key
### dict[target_key] = new_val
INT_STR_DICT = {1:"one",2:"two",3:"three"}
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three'}
INT_STR_DICT[1] = "hundred"
### print(INT_STR_DICT)                         ### {1: 'hundred', 2: 'two', 3: 'three'}

### Clear All Values
### dict.clear()
INT_STR_DICT = {1:"one",2:"two",3:"three"}
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three'}
INT_STR_DICT.clear()
### print(INT_STR_DICT)                         ### {}

### Create Copy
### dict.copy()
INT_STR_DICT = {1:"one",2:"two",3:"three"}
copy_DICT_1  = INT_STR_DICT 
copy_DICT_2  = INT_STR_DICT.copy()
### print(copy_DICT_1)                          ### {1: 'one', 2: 'two', 3: 'three'}
### print(copy_DICT_2)                          ### {1: 'one', 2: 'two', 3: 'three'}
INT_STR_DICT[1] = "hundred"
### print(copy_DICT_1)                          ### {1: 'hundred', 2: 'two', 3: 'three'}
### print(copy_DICT_2)                          ### {1: 'one', 2: 'two', 3: 'three'}

### Create Dict with constant_value for target_keys
### dict.fromkeys(target_keys,constant_value)
INT_LIST  = [1,2,3]
INT_TUPLE = (1,2,3)
CONST_VAL = 0
INT_DICT_1 = dict.fromkeys(INT_LIST,CONST_VAL)
INT_DICT_2 = dict.fromkeys(INT_TUPLE,CONST_VAL)
INT_DICT_3 = dict.fromkeys(INT_LIST)
### print(INT_DICT_1)                           ### {1: 0, 2: 0, 3: 0}
### print(INT_DICT_2)                           ### {1: 0, 2: 0, 3: 0}
### print(INT_DICT_3)                           ### {1: None, 2: None, 3: None}

### Get Value of target_key without changing
### dict.get(target_key)
INT_STR_DICT = {1:"one",2:"two",3:"three"} 
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three'}
### print(INT_STR_DICT.get(1))                  ### one
### print(INT_STR_DICT.get(4))                  ### None
### print(INT_STR_DICT.get(4,"N/A"))            ### N/A
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three'}

### Get Value of target_key with changing
### dict.pop(target_key)
INT_STR_DICT = {1:"one",2:"two",3:"three"} 
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three'}
### print(INT_STR_DICT.pop(1))                  ### one
### print(INT_STR_DICT.pop(4))                  ### [ERROR] KeyError: 4
### print(INT_STR_DICT.pop(4,"N/A"))            ### N/A
### print(INT_STR_DICT)                         ### {2: 'two', 3: 'three'}

### Get Value of target_key with changing
### dict.setdefault(target_key)

INT_STR_DICT = {1:"one",2:"two",3:"three"} 
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three'}
### print(INT_STR_DICT.setdefault(1))           ### one
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three'}

INT_STR_DICT = {1:"one",2:"two",3:"three"} 
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three'}  
### print(INT_STR_DICT.setdefault(1,"ichi"))    ### one 
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three'}

INT_STR_DICT = {1:"one",2:"two",3:"three"} 
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three'} 
### print(INT_STR_DICT.setdefault(4))           ### None
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three', 4: None}

INT_STR_DICT = {1:"one",2:"two",3:"three"} 
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three'}
### print(INT_STR_DICT.setdefault(4,"yon"))     ### yon
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three', 4: 'yon'}

### Pop Last Key-Value Pair
### dict.popitem()

INT_STR_DICT = {1:"one",2:"two",3:"three"} 
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three'}
### print(INT_STR_DICT.popitem())               ### (3, 'three')
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two'}

EMPTY_DICT   = {}
### print(EMPTY_DICT)                           ### {}
### EMPTY_DICT.popitem()                        ### [ERROR] KeyError: 'popitem(): dictionary is empty'

### For Loop
INT_STR_DICT = {1:"one",2:"two",3:"three"} 
### print(INT_STR_DICT)                         ### {1: 'one', 2: 'two', 3: 'three'}

### print(INT_STR_DICT.items()) 
### dict_items([(1, 'one'), (2, 'two'), (3, 'three')])

for key, val in INT_STR_DICT.items():
    ### print(key,val)
    pass
### 1 one
### 2 two
### 3 three

### print(INT_STR_DICT.keys())
### dict_keys([1, 2, 3])

for key in INT_STR_DICT.keys():
    ### print(key)
    pass
### 1
### 2
### 3

### print(INT_STR_DICT.values())
### dict_values(['one', 'two', 'three'])

for val in INT_STR_DICT.values():
    ### print(val)
    pass
### one
### two
### three

### Update Dict
### dict.update(new_dict)
INT_STR_DICT = {1:"one",2:"two",3:"three"} 
### print(INT_STR_DICT)                     ### {1: 'one', 2: 'two', 3: 'three'}
INT_STR_DICT.update({4:"four"})
### print(INT_STR_DICT)                     ### {1: 'one', 2: 'two', 3: 'three', 4: 'four'}
INT_STR_DICT.update({1:"ichi"})
### print(INT_STR_DICT)                     ### {1: 'ichi', 2: 'two', 3: 'three', 4: 'four'}

このプログラムは、Pythonの辞書に関するいくつかの基本的な操作について説明しています。

まず、辞書を作成する方法を3つ紹介しています。その後、辞書を削除する方法、辞書の長さを取得する方法、辞書の型を取得する方法、辞書内のキーに対応する値を取得する方法、辞書内の値を変更する方法、辞書内のすべての値をクリアする方法、辞書のコピーを作成する方法、辞書内のキーに対応する値を取得する方法(存在しない場合は既定値を返すこともできます)、辞書内のキーと値を削除する方法、辞書内に既定値を設定する方法、辞書内の最後のキーと値を削除する方法、辞書内のすべてのキー、値、およびキー/値ペアを取得する方法、辞書を更新する方法について説明しています。

「dict」関連の各種機能 … About Function related to Python Dictionary

Pythonの辞書について

Pythonの辞書は、キーと値のペアの集合体であり、順序は保持されません。辞書は波括弧{}で囲み、キーと値のペアはコロンで区切られます。

辞書の作成

辞書は、波括弧{}を使って作成します。空の辞書を作成する場合は、{}またはdict()を使用します。また、既存のリストから辞書を作成する場合は、dict(zip(list1,list2))を使用することができます。

辞書の削除

辞書を削除するには、delキーワードを使用します。辞書を削除する場合は、del dict_nameを使用します。

辞書の長さの取得

辞書の長さを取得するには、len(dict_name)を使用します。

辞書の型の取得

辞書の型を取得するには、type(dict_name)を使用します。

辞書の値を取得する

辞書から値を取得するには、dict_name[key]を使用します。

辞書の値を変更する

辞書の値を変更するには、dict_name[key] = new_valueを使用します。

辞書の全ての値をクリアする

辞書の全ての値をクリアするには、dict_name.clear()を使用します。

辞書のコピーを作成する

辞書のコピーを作成するには、dict_name.copy()を使用します。

指定した値を使用して辞書を作成する

指定した値を使用して辞書を作成するには、dict.fromkeys(keys, value)を使用します。

指定したキーの値を取得する

辞書から指定したキーの値を取得するには、dict_name.get(key)を使用します。キーが存在しない場合は、Noneを返します。

指定したキーの値を取得し、辞書から削除する

辞書から指定したキーの値を取得し、辞書から削除するには、dict_name.pop(key)を使用します。

指定したキーの値を取得し、辞書から削除する(デフォルト値あり)

辞書から指定したキーの値を取得し、辞書から削除するには、dict_name.pop(key, default)を使用します。キーが存在しない場合は、default値が返されます。

指定したキーの値を取得し、辞書に追加する

辞書から指定したキーの値を取得し、辞書に追加するには、dict_name.setdefault(key, default)を使用します。キーが存在する場合は、値が返されます。存在しない場合は、default値が追加されます。

最後のキーと値を取得し、辞書から削除する

辞書から最後のキーと値を取得し、辞書から削除するには、dict_name.popitem()を使用します。

辞書のループ

辞書のループには、for key, value in dict_name.items()を使用します。for key in dict_name.keys()を使用して、辞書のキーにループすることもできます。また、for value in dict_name.values()を使用して、辞書の値にループすることもできます。

辞書を更新する

辞書を更新するには、dict_name.update(new_dict)を使用します。

参考リンク … Reference Link