「配列変数」に似た機能に「辞書型変数」があります。配列変数が番号を使ってデータにアクセスするように、辞書型変数は、文字を使ってデータにアクセスします。 辞書型変数は、配列変数のようなものなので「連想配列」とか「ハッシュ」「マップ」とも呼ばれます。
配列変数の『配列変数@番号』を『辞書型変数@キー名』のようにアクセスします。詳しい使い方を確認してみましょう。
[書式] 辞書型変数の初期化 変数={ キー: 値, キー: 値, キー: 値, ... } [書式] 辞書型変数の値を参照 変数@キーを表示。 [書式] 辞書型変数に値を設定 変数@キー=値
下のプログラムは辞書型変数を使って、田中さんの成績を表したものです。
田中とは{} 田中@「国語」は80 田中@「数学」は40 田中@「社会」は92 田中@「理科」は67 田中@「国語」を表示。# →80
上のプログラムだと、あまり辞書型変数の有り難味がありませんので、ユーザーが入力した科目を表示するというプログラムを作ってみます。
これを実行して、国語と入力すると、80が表示されます。また、数学と入力すれば、40が表示されます。このように辞書型変数を使うと、好きなデータをキーによって取り出すことができるのです。
辞書型変数を使ってアンケートを集計してみましょう。以下は10人に行った納豆のアンケートの集計プログラムです。
プログラムを実行すると、{"好き":6,"嫌い":4}と集計結果が表示されます。
まず、アンケートをカンマで区切って配列変数Aに代入します。これによって配列変数Aの各要素は「好き」か「嫌い」のいずれかになります。これを「繰り返し」構文で、変数「キー」に得ます。そして、辞書型変数変数『結果』で数を数えます。
実はこの例ではあらかじめアンケートの数量を固定してしまってるのでそれほど有り難味がありません。次の反復構文を使うとアンケートの集計がぐっと楽になります。
自由にプログラムを書いて動作を試してみよう!