python

【python】dictionary(辞書型)

有用なコンテナ型である辞書 (dictionary) を見ます。これは他のプログラミング言語ではハッシュ (hash) や マップ (map)、連想配列 (associative array) と呼ばれたりすることがあります。 辞書はキー (key) と値(value) のペアの集合になり、キーは1つの辞書内で一意でなければなりません。 辞書を作るときは dict() 関数または波括弧 {} を利用しますが、集合型と違い、{key:value, …} の形式になります。

ディクショナリの宣言方法

contacts = {'Taro': 1234, 'Jiro': 4321}
print(contacts) #出力:{'Taro': 1234, 'Jiro': 4321}

ディクショナリのvalueを取り出す

ディクショナリは。リストのように格納した順番など順番の概念がなく、keyで要素を管理するので、リストのようにlist[1]と選択し要素を取り出すことができません。

contacts = {'Taro': 1234, 'Jiro': 4321}
print(contacts['Jiro']) #出力:4321

ディクショナリのkeyをすべて取り出す

contacts = {'Taro': 1234, 'Jiro': 4321}
keys = list(contacts.keys())  # list()を使うことに注意
print(keys) #出力:['Taro', 'Jiro']

ディクショナリのvalueをすべて取り出す

contacts = {'Taro': 1234, 'Jiro': 4321}
values = list(contacts.values())  # list()を使うことに注意
print(values) #出力:[1234, 4321]

ディクショナリのkeyとvalueの組をすべて取り出す

contacts = {'Taro': 1234, 'Jiro': 4321}
print(contacts) #出力:{'Taro': 1234, 'Jiro': 4321}

items = list(contacts.items())  # list()を使うことに注意
print(items) #出力:[('Taro', 1234), ('Jiro', 4321)]

print(items[1]) #出力:('Jiro', 4321)

print(items[1]) の出力である(‘Jiro’, 4321)は、タプル型になります。

【python】tuple(タプル型) タプルとリストの違い 要素の変更ができるかどうかにあります。タプルは生成後、要素を変更することができません。 lst =...

keys(), values(), items() プロパティを for で利用するときには list() 関数は不要となります。

for k, v in contacts.items():
    print(k, v) 
#Taro 1234
#Jiro 5678
#Saburo 9012

keyを使って要素を入れ替える

contacts = {'Taro': 1234, 'Jiro': 4321}
contacts["Taro"] = 123456789
print(contacts)  #出力: {'Taro': 123456789, 'Jiro': 4321}

keyを使って要素を削除する

contacts = {'Taro': 1234, 'Jiro': 4321}
del contacts["Taro"]
print(contacts)  #出力:{'Jiro': 4321}

ディクショナリを連結する

dic1 = {"math": 80, "english": 90, "physics": 70}
dic2 = {"数学": 80, "英語": 90, "物理": 70}

print(dic1) #出力:{'math': 80, 'english': 90, 'physics': 70}
dic1.update(dic2)
print(dic1) #出力:{'math': 80, 'english': 90, 'physics': 70, '数学': 80, '英語': 90, '物理': 70}

要素を追加する

contacts = {'Taro': 1234, 'Jiro': 4321}
print(contacts) #出力:{'Taro': 1234, 'Jiro': 4321}

contacts['Saburo'] = 9876
print(contacts) #出力:{'Taro': 1234, 'Jiro': 4321, 'Saburo': 9876}

辞書のキーに存在するかどうかを調べる

in 演算子を利用します。

'Taro' in contacts #True
'dwango' in contacts #False