
キー
No4
オブジェクト
キー
No1
オブジェクト
キー
No3
オブジェクト
キー
No2
オブジェクト
辞書
他の言語で三項演算子
?:
を使ったこ
とがありますか。
Python
は同様の構
造をサポートしています。
y
の値が
3
より大きいかどうかによって
x
に
10
か
20
のどちらかを設定するには、次
のようにします。
x = 10 if y > 3 else 20
しかし、ほとんどの
Python
プログラ
マは同等の
if... else...
の方が
読みやすいと考えているので、三項演
算子はあまり使いません。
「
in
」を使ってメンバーかどうかを調べる
fruits
辞書に
bananas
用のデータ行を追加してみましょう。しかし、(
apples
の場
合と同様に)
bananas
に直接割り当てる代わりに、
fruits
辞書に
bananas
が存在する
場合には
bananas
に対応する値を
1
増やし、存在しない場合は
bananas
を
1
で初期化し
ましょう。これは特に辞書を使って頻度をカウントするときには一般的です。ここで採用
するロジックはうまくいけば
KeyError
を避けることができるでしょう。
次のコードでは、
in
演算子を
if
文と一緒に使って
bananas
で間違えないようにしてい
ます(この間違いはあとで大変なことになります)。
>>> if 'bananas' in fruits:
fruits['bananas'] += 1
else:
fruits['bananas'] = 1
>>> fruits
{'bananas': 1, 'apples': ...