📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
細 Wiki がページ「辞書の作成と操作(Python)」を「Pythonの基礎 - 辞書の作成と操作」に、リダイレクトを残さずに移動しました |
細 文字列「<source」を「<syntaxhighlight」に置換 |
||
| 11行目: | 11行目: | ||
<br> | <br> | ||
辞書 = {キー1:値1, キー2:値2, キー3:値3, ...}という形で宣言する。<br> | 辞書 = {キー1:値1, キー2:値2, キー3:値3, ...}という形で宣言する。<br> | ||
< | <syntaxhighlight lang="python"> | ||
d = {"x":100, "y":200, "z":300} | d = {"x":100, "y":200, "z":300} | ||
</source> | </source> | ||
| 19行目: | 19行目: | ||
辞書はキーでそれぞれの値を抽出することができる。 | 辞書はキーでそれぞれの値を抽出することができる。 | ||
辞書型変数に続けて角括弧でキーを指定することで、値を抽出できる。<br> | 辞書型変数に続けて角括弧でキーを指定することで、値を抽出できる。<br> | ||
< | <syntaxhighlight lang="python"> | ||
dic = {"x":100, "y":200} | dic = {"x":100, "y":200} | ||
print(dic["x"]) | print(dic["x"]) | ||
| 30行目: | 30行目: | ||
<br> | <br> | ||
次は、キーを指定して値を変更する。<br> | 次は、キーを指定して値を変更する。<br> | ||
< | <syntaxhighlight lang="python"> | ||
dic = {"x":100, "y":200} | dic = {"x":100, "y":200} | ||
dic["x"] = 300 | dic["x"] = 300 | ||
| 41行目: | 41行目: | ||
次に、新たにデータを辞書に追加する。<br> | 次に、新たにデータを辞書に追加する。<br> | ||
以下の例では、新しいキーを指定して、新しい要素を追加している。(文字列のキーと数値のキーの両方で行う)<br> | 以下の例では、新しいキーを指定して、新しい要素を追加している。(文字列のキーと数値のキーの両方で行う)<br> | ||
< | <syntaxhighlight lang="python"> | ||
dic = {"x":100, "y":200} | dic = {"x":100, "y":200} | ||
dic["z"] = 300 | dic["z"] = 300 | ||
| 57行目: | 57行目: | ||
以下の例では、リストが要素のリスト、タプルが要素のリスト、リストが要素のタプル、文字列のリスト、文字列のタプルをdict関数で変換する。<br> | 以下の例では、リストが要素のリスト、タプルが要素のリスト、リストが要素のタプル、文字列のリスト、文字列のタプルをdict関数で変換する。<br> | ||
< | <syntaxhighlight lang="python"> | ||
list_of_list = [['a', 'b'], ['c', 'd'], ['e', 'f']] | list_of_list = [['a', 'b'], ['c', 'd'], ['e', 'f']] | ||
list_of_tuple = [('a', 'b'), ('c', 'd'), ('e', 'f')] | list_of_tuple = [('a', 'b'), ('c', 'd'), ('e', 'f')] | ||
| 79行目: | 79行目: | ||
<br> | <br> | ||
また、dict関数内で変数に値を代入しても辞書が作成できる。<br> | また、dict関数内で変数に値を代入しても辞書が作成できる。<br> | ||
< | <syntaxhighlight lang="python"> | ||
dic = dict(x=100, y=200) | dic = dict(x=100, y=200) | ||
print(dic) | print(dic) | ||
| 93行目: | 93行目: | ||
===== keys関数とvalues関数で全てのキーと値を取得する ===== | ===== keys関数とvalues関数で全てのキーと値を取得する ===== | ||
これらの関数は、それぞれキーの全て、値の全てを取得する時に使用する。<br> | これらの関数は、それぞれキーの全て、値の全てを取得する時に使用する。<br> | ||
< | <syntaxhighlight lang="python"> | ||
dic = {'x':100, 'y':200} | dic = {'x':100, 'y':200} | ||
print(dic.keys()) | print(dic.keys()) | ||
| 105行目: | 105行目: | ||
===== update関数で辞書を結合する ===== | ===== update関数で辞書を結合する ===== | ||
update関数は、2つの異なる辞書を結合することができる。キーが同じ場合は新しい値に更新する。<br> | update関数は、2つの異なる辞書を結合することができる。キーが同じ場合は新しい値に更新する。<br> | ||
< | <syntaxhighlight lang="python"> | ||
dic1 = {'l':10, 'm':200, 'n':300} | dic1 = {'l':10, 'm':200, 'n':300} | ||
dic2 = {'l':100, 'o':400} | dic2 = {'l':100, 'o':400} | ||
| 118行目: | 118行目: | ||
辞書は角括弧[]にキーを指定することで値を取得することができるが、get関数を使用しても同様のことができる。<br> | 辞書は角括弧[]にキーを指定することで値を取得することができるが、get関数を使用しても同様のことができる。<br> | ||
また、辞書にないキーを指定した場合、get関数では何も返さず、角括弧[]で指定した場合はエラーになる。<br> | また、辞書にないキーを指定した場合、get関数では何も返さず、角括弧[]で指定した場合はエラーになる。<br> | ||
< | <syntaxhighlight lang="python"> | ||
dic = {'x':10, 'y':20} | dic = {'x':10, 'y':20} | ||
val = dic.get('x') # d['x']と同じ操作 | val = dic.get('x') # d['x']と同じ操作 | ||
| 130行目: | 130行目: | ||
get関数と似たようなメソッドでpop関数がある。<br> | get関数と似たようなメソッドでpop関数がある。<br> | ||
pop関数もキーを指定して値を取得するが、辞書からキーで指定した値を削除するという特徴がある。 | pop関数もキーを指定して値を取得するが、辞書からキーで指定した値を削除するという特徴がある。 | ||
< | <syntaxhighlight lang="python"> | ||
dic = {'x':100, 'y':200, 'z':300} | dic = {'x':100, 'y':200, 'z':300} | ||
value = dic.pop('x') | value = dic.pop('x') | ||
| 143行目: | 143行目: | ||
===== delで要素を削除する ===== | ===== delで要素を削除する ===== | ||
pop関数ではキーの値を取得した後は辞書から削除されるが、delを使用すると同様に削除することができる。<br> | pop関数ではキーの値を取得した後は辞書から削除されるが、delを使用すると同様に削除することができる。<br> | ||
< | <syntaxhighlight lang="python"> | ||
dic = {'x':100, 'y':200, 'z':300} | dic = {'x':100, 'y':200, 'z':300} | ||
del dic['y'] | del dic['y'] | ||
| 153行目: | 153行目: | ||
<br> | <br> | ||
また、キーを指定せずにdel関数を使用する場合は、辞書自体が削除される。<br> | また、キーを指定せずにdel関数を使用する場合は、辞書自体が削除される。<br> | ||
< | <syntaxhighlight lang="python"> | ||
del dic | del dic | ||
</source> | </source> | ||
| 159行目: | 159行目: | ||
===== clear関数で値を削除する ===== | ===== clear関数で値を削除する ===== | ||
delを使用すると辞書自体が削除されるが、clear関数を使用すると値のみを削除して空の辞書が残り、辞書自体の操作を続けることができる。<br> | delを使用すると辞書自体が削除されるが、clear関数を使用すると値のみを削除して空の辞書が残り、辞書自体の操作を続けることができる。<br> | ||
< | <syntaxhighlight lang="python"> | ||
dic = {'x':100, 'y':200, 'z':300} | dic = {'x':100, 'y':200, 'z':300} | ||
dic.clear() | dic.clear() | ||
| 172行目: | 172行目: | ||
"キー" in 辞書の形で使用する。<br> | "キー" in 辞書の形で使用する。<br> | ||
辞書にキーが存在すればTrue、キーが存在しない場合はFalseを返す。<br> | 辞書にキーが存在すればTrue、キーが存在しない場合はFalseを返す。<br> | ||
< | <syntaxhighlight lang="python"> | ||
dic = {'x':100, 'y':200, 'z':300} | dic = {'x':100, 'y':200, 'z':300} | ||
print('x' in dic) | print('x' in dic) | ||
| 188行目: | 188行目: | ||
<br> | <br> | ||
===== 代入演算子でコピーする(参照渡し) ===== | ===== 代入演算子でコピーする(参照渡し) ===== | ||
< | <syntaxhighlight lang="python"> | ||
dic1 = {'x':100, 'y':200, 'z':300} | dic1 = {'x':100, 'y':200, 'z':300} | ||
dic2 = d1 | dic2 = d1 | ||
| 203行目: | 203行目: | ||
===== copy関数でコピーする(値渡し) ===== | ===== copy関数でコピーする(値渡し) ===== | ||
全く独立した別の辞書として扱えるようするには、copy関数を使用する。<br> | 全く独立した別の辞書として扱えるようするには、copy関数を使用する。<br> | ||
< | <syntaxhighlight lang="python"> | ||
dic1 = {'x':100, 'y':200, 'z':300} | dic1 = {'x':100, 'y':200, 'z':300} | ||
dic2 = d1.copy() | dic2 = d1.copy() | ||