見出し画像

Python資格取得への道のり 4日目

・辞書型

リスト型と同様と値を追加することが可能。
結局はキー:値の関係が成り立てば、追加することが可能。
ただ表し方には注意が必要。リストやタプルを使用し、辞書型として表現する方法もある。

>>> d = {'x': 10, 'y': 20}
>>> d
{'x': 10, 'y': 20}
>>> type(d)
<class 'dict'>
>>> 
>>> 
>>> d['x']
10
>>> 
>>> d['y']
20
>>> d['x'] = 100
>>> d
{'x': 100, 'y': 20}
>>> d['x'] = 'XXXX'
>>> d
{'x': 'XXXX', 'y': 20}
>>> 
>>> d['z'] = '200'
>>> d
{'x': 'XXXX', 'y': 20, 'z': '200'}
>>> 
>>> d['z'] = 200
>>> 
>>> d[1] = 10000
>>> 
>>> dict(a=10, b=20)
{'a': 10, 'b': 20}
>>> 
>>> dict([('a', 10), ('b', 20)])
{'a': 10, 'b': 20}

・辞書型のメソッド

こちらもリスト型と同様に「pop」や「del」がある。
そのほかにも「update」や「clear」、「in」もある。
それぞれの働きを改めて確認。

>>> d = {'x': 10, 'y': 20}
>>> d
{'x': 10, 'y': 20}
>>> 
>>> d.keys()
dict_keys(['x', 'y'])
>>> d.values()
dict_values([10, 20])
>>> d2 = {'x': 1000, 'j': 500}
>>> d
{'x': 10, 'y': 20}
>>> d2
{'x': 1000, 'j': 500}
>>> #dのxとd2のxを入れ替えて、dにjを追加する
>>> 
>>> d.update(d2)
>>> 
>>> d
{'x': 1000, 'y': 20, 'j': 500}
>>> 
>>> 
>>> d['x']
1000
>>> d.get('x')
1000
>>> d.pop('x')
1000
>>> d
{'y': 20, 'j': 500}
>>> del d['y']
>>> d
{'j': 500}
>>> 
>>> del d
>>> d
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
NameError: name 'd' is not defined
>>> 
>>> d = {'a': 100, 'b': 200}
>>> d
{'a': 100, 'b': 200}
>>> d.clear()
>>> d
{}
>>> d = {'a': 100, 'b': 200}
>>> 
>>> 'a' in d
True
>>> 'c' in d
False
>>> 

・辞書型のコピー(参照渡しと回避策)

x = {'a': 1}
y = x
y['a'] = 1000
print(x)
print(y)
#リスト型と同様参照渡し
#→{'a': 1000}
#→{'a': 1000}

 #回避策として x = {'a': 1}
y = x.copy()
y['a'] = 1000
print(x)
print(y)
#→{'a': 1}
#→{'a': 1000}

・辞書型の使い所

リスト型だと値の場所の特定が必要ですが、辞書型だとキーがわかれば値を取得できる

l = [
   ['apple', 100],
   ['banana', 200],
   ['orange', 300]
]

print(l[0][1])

fruits = {
   'apple' : 100,
   'banana' : 200,
   'orange' : 300
}

print(fruits['apple'])

今日はここまで

結局制御フローに行けませんでしたが、このまま続けて5日目に突入します。

この記事が気に入ったらサポートをしてみませんか?