
items
イディオム
Q
:
2
番目のループでなぜ
sorted
を再び呼び出しているのですか?
1
回目のループで辞書が希望どおりに
並べられたので、
2
回目ではソートする必要がないのではないですか?
A
:いいえ、そうではありません。組み込み関数
sorted
は指定したデータの順序を変えるのではなく、ソートされ
た新たなリストとして返します。辞書はランダム順のままなので、キーと値のペアをある特定の順に反復処理する
たびに
sorted
を呼び出す必要があります。
に答えます
「
items
」を使って辞書を反復処理する
前ページでは、次のコードで辞書内のデータ行を反復処理できることを確認しました。
>>> for k in sorted(found):
print(k, '
の出現回数は
', found[k], '
回。
')
a
の出現回数は
0
回。
e
の出現回数は
2
回。
i
の出現回数は
0
回。
o
の出現回数は
0
回。
u
の出現回数は
0
回。
リストと同様、辞書にも多くの組み込みメソッドがあります。その
1
つが
items
メソッドです。このメソッド
はキーと値のペアのリストを返します。辞書を反復処理するには、多くの場合、
for
と一緒に
items
を使うのが
好ましいとされています。なぜなら、ループ変数としてキーと値にアクセスし、それをブロック内で使えるから
です。その結果、ブロックの見た目と読みやすさが向上しいます。
次のコードは、上のループを
items
で書き換えたものです。書き換え後のコードは
2
つのループ変数