組み込み開発のためのPython · レッスン 199 / 220

辞書と集合で設定・重複を管理する

キーと値の辞書、重複しない集合を使って設定と検査を記述します。

設定値を位置だけで管理すると、項目を取り違えやすくなります。辞書で名前と値を結び、集合で重複や許可された選択肢を検査します。

名前で値を取り出す

辞書はキーから値を検索する対応表です。設定項目をキーで読むと、配列の何番目かを覚える必要がなくなります。必須キーがないケースと、値が0などの有効なケースを区別し、`get`の既定値を使うときも設定漏れが隠れないか確認します。

集合で一意性と許可値を調べる

集合は重複を持たないため、観測したIDの重複検出や、入力値が許可された選択肢に含まれるかの判定に使えます。集合には表示順がないので、順番が必要なレポートにはソートしたリストを使います。

コード例

手元のPython環境に貼り付ける前に、使用しているPythonの版と対象ライブラリの対応を確認してください。

config = {"port": "/dev/ttyUSB0", "baud": 115200}
required = {"port", "baud"}
if not required <= config.keys():
    raise ValueError("必須設定が不足しています")

allowed_baud = {9600, 38400, 115200}
if config["baud"] not in allowed_baud:
    raise ValueError("未対応のボーレートです")

手を動かす課題

必須キーの不足、未対応のボーレート、重複した識別子の3条件をそれぞれ検出してください。

参考資料

「3. 繰り返しとデータのまとまり」の章一覧へ