ラベル 辞書 の投稿を表示しています。 すべての投稿を表示
ラベル 辞書 の投稿を表示しています。 すべての投稿を表示

2020年3月29日日曜日

【辞書】要素の削除

 キーと値の組み合わせからなる辞書型オブジェクトdictから要素を削除する方法について説明する。


1. delによる要素の削除

 del文により指定したキーと対応する値を削除できる。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
del population['京都']
print(population)

実行結果

{'大坂': 882, '兵庫': 546}


 存在しないキーを指定するとエラーとなる。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
del population['奈良']
print(population)

実行結果

KeyError: '奈良'


2. popによる要素の削除

 popにより引数に与えたキーに対応する要素を削除できる。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
population.pop('京都')
print(population)

実行結果

{'大坂': 882, '兵庫': 546}


 存在しないキーを指定するとエラーとなる。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
population.pop('奈良')
print(population)

実行結果

KeyError: '奈良'


 popでキーが無かった場合に返す第2引数を指定すると存在しないキーを指定してもエラーとならない。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
population.pop('奈良','')
print(population)

実行結果

{'大坂': 882, '兵庫': 546, '京都': 261}


3. clearによる全ての値の削除

 clearを用いると辞書の全要素を削除できる。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
population.clear()
print(population)

実行結果

{}


4. リファレンス

Python 標準ライブラリ > マッピング型 --- dict

使用バージョン:Python 3.7.0

【辞書】for文による要素の取り出し

 キー(key)と値(value)の組合わせの集まりである辞書(dict型)はイテラブルオブジェクトなためfor文で要素を取り出すことが可能。キーを取り出す方法、値を取り出す方法、キーと値両方を取り出す方法を紹介する。



keyメソッドでキーを取り出す

 keysによりfor文のイテラブルオブジェクトとしてキーを指定するとキーが順番に取り出せる。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
for prefecture in population.keys():
    print(prefecture)

実行結果

大坂
兵庫
京都


valuesメソッドで値を取り出す

 valuesによりfor文のイテラブルオブジェクトとして値を指定すると値が順番に取り出せる。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
for prefecture in population.values():
    print(prefecture)

実行結果

882
546
261


itemsメソッドでキーと値を取り出す

 itemsfor文を組み合わせると、キーと値のセットを取り出すことができる。次の例では変数prefectureにキーと値のセットがtupleとして代入される。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
for prefecture in population.items():
    print(prefecture)

実行結果

('大坂', 882)
('兵庫', 546)
('京都', 261)


 2変数で受け取れば、キーと値それぞれ別の変数に格納できる。次の例では変数xにキー、変数yに値が格納される。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
for x, y in population.items():
    print(x, y)

実行結果

大坂 882
兵庫 546
京都 261


リファレンス

Python 標準ライブラリ > マッピング型 --- dict

使用バージョン:Python 3.7.0

【辞書】辞書の生成、値の取得、変更、追加

キー(key)と値(value)を組み合わせたマッピングオブジェクトである辞書(dict型)の使い方について説明する



1. 辞書の生成

 辞書の構造は組となるキー(key)と値(value)をコロン:で区切り、組をカンマ,で区切る。全体を波かっこ{}で囲う。
府県名をキー、人口(万人)をオブジェクトとした例。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
print(population)

実行結果

{'大坂': 882, '兵庫': 546, '京都': 261}


dictを使っても辞書の生成が可能。

population = dict(大坂 = 882, 兵庫 = 546, 京都 = 261)
print(population)

実行結果

{'大坂': 882, '兵庫': 546, '京都': 261}


dictzipを使うことで、キーのリストと値のリストから辞書を生成することが可能。

population = dict(zip(['大坂', '兵庫', '京都'], [882, 546, 261]))
print(population)

実行結果

{'大坂': 882, '兵庫': 546, '京都': 261}


2. キーの指定による値の取り出し

 インデックスとしてキーを与えることで、対応する値を取得できる。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
print(population['京都'])

実行結果

261

存在しないキーを指定するとエラーとなる。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
print(population['奈良'])

実行結果

KeyError: '奈良'


getでキーを与えて値を得ることもできる。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
print(population.get('京都'))

実行結果

261


getの場合存在しないキーを与えてもエラーとならない(何も返さない)。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
print(population.get('奈良'))

実行結果

None


getの2つ目の引数にキーが存在しない場合の応答を記載しておくことが可能。

population = dict(zip(['大坂', '兵庫', '京都'], [882, 546, 261]))
print(population.get('奈良','キーが見つからない'))

実行結果

キーが見つからない


3. 値の変更

 辞書の特定のキーを指定し、値を変更することができる。

population = dict(zip(['大坂', '兵庫', '京都'], [882, 546, 261]))
population['京都'] = 200
population

実行結果

{'大坂': 882, '兵庫': 546, '京都': 200}


4. 値の追加

 新たなキーを指定し値を与えることで、辞書にキー・値を追加できる。

population = dict(zip(['大坂', '兵庫', '京都'], [882, 546, 261]))
population['奈良'] = 135
print(population)

実行結果

{'大坂': 882, '兵庫': 546, '京都': 261, '奈良': 135}


5. リファレンス

Python 標準ライブラリ > マッピング型 --- dict

使用バージョン:Python 3.7.0