ど文系の中学校英語教員がプログラミング言語Pythonを学んでみた 17日目 辞書とデータ構造についての巻

Saturday, 14 March 2020

プログラミングとPython

 こんにちは、まさです。
 今日は『退屈なことはPythonにやらせよう』5章の「辞書とデータ構造」です。
覚えておきたいことを➤で箇条書きに記しておきます。

 ➤辞書は{'size': 'fat', 'color':'gray'}のように記述する。「:」の左側のインデックスの
  ことを「キー」と呼び、右側の値をキーバリューペアという。

 ➤辞書はリストと違って、順序関係がない。また、リストは整数でアクセスす
  るが、辞書はキーでアクセスする。

タイトル
1
2
3
4
5
6
7
8
>>> spam = ['cats','dogs','moose']
>>> bacon = ['dogs','cats','moose']
>>> spam == bacon
False
>>> eggs = {'name':'Zophie','species':'cat','age':'8'}
>>> ham = {'species':'cat','name':'Zophie','age':'8'}
>>> eggs == ham
True

 ➤keys(),values(),items()メソッドがある。

タイトル
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>>> spam = {'color':'red','age':42}
>>> for v in spam.values():
...     print(v)
...
red
42
>>> for k in spam.keys():
...     print(k)
...
color
age
>>> for i in spam.items():
...     print(i)
...
('color', 'red')
('age', 42)

 ➤get()メソッドはキーが存在しないときにエラーを出さないで、処理してくれる。  
  setdefault()メソッドがキーが未登録の場合のみ値を登録してくれる。
 
 ➤pprint()は辞書の内容を綺麗に並べてくれる。

 三目並べのボードを作る練習もありました。こういうことができるようになってくるのかと感嘆しました。そのコードがここに載っています。
 https://github.com/oreilly-japan/automatestuff-ja/blob/master/ch05/fullTicTacToe2.py
 
タイトル
1
2
3
4
5
6
7
>>> spam = {'name':'Pooka','age':5}
>>> spam.setdefault('color','black')
'black'
>>> spam.setdefault('color','white')
'black'
>>> spam
{'name': 'Pooka', 'age': 5, 'color': 'black'}