#概要
Pythonの辞書から探す時、Keyが存在しないとエラーが出てしまう。
今まではif
で回避していたが、そういえばexcept KeyError
でも回避できるので、ごく簡単にまとめる。
#内容
##環境
macOS Catalina
Python 3.7.0
##準備
tmp.py
names = {'tokino': 'sora', 'sakura': 'miko'}
print(names['suzuki'])
ここで、names['suzuki']
とすると、エラーが出てしまう。
##解決策1 if
を使う
tmp.py
if 'suzuki' not in names:
names['suzuki'] = 'not yet'
print(names['suzuki'])
##解決策2 try
を使う
tmp.py
try:
print(names['suzuki'])
except KeyError:
names['suzuki'] = 'not yet'
print(names['suzuki'])
##蛇足
単にデフォルト値を欲しいだけなら、
print(names.get('suzuki', 'not yet'))
デフォルト値を設定したいだけなら、
defaultdict
を使うことで解決するかもしれない。
私の例はあまりいい例ではないと思う。
#参考にさせていただいた本・頁
特になし
#感想
書き方の幅が広がって良かった。
#今後
try
の方を使った方が自然な時は、使っていこうと思う。