【Pandas】excelのシート名一覧を取得して読み込む
MAX
MAX999blog
Pythonのイテラブルな型にはリストやタプル、集合、文字列などがあるが、辞書もイテラブルであり、ループ処理が可能である。
辞書は他の型と異なり、キーと値がセットになっているため、ループの方法が何種類かある。
3種類のループ方法がある。
1dict_a = {"key1": 1, "key2": 2, "key3": 3}
2
3for v in dict_a:
4 print(f"{v=}")
5
6# v='key1'
7# v='key2'
8# v='key3'
単純に辞書をループさせると、キーがループする。
1dict_a = {"key1": 1, "key2": 2, "key3": 3}
2
3for key in dict_a.keys():
4 print(f"{key=}")
5
6# key='key1'
7# key='key2'
8# key='key3'
keys()でキーをループできる。つけなくても良いが、keys()があった方が、キーをループさせていることがハッキリと分かるので親切かもしれない。
1dict_a = {"key1": 1, "key2": 2, "key3": 3}
2
3for value in dict_a.values():
4 print(f"{value=}")
5
6# value=1
7# value=2
8# value=3
values()で辞書の値を取り出せる。
キーが必要なく、値だけが必要な場合に使うと分かりやすい。
1dict_a = {"key1": 1, "key2": 2, "key3": 3}
2
3for key, value in dict_a.items():
4 print(f"{key=}, {value=}")
5
6# key='key1', value=1
7# key='key2', value=2
8# key='key3', value=3
items()でキーと値のタプルを取得できる。
あまり使う機会はないが、タプルのまま取得すると以下のようになる。
1dict_a = {"key1": 1, "key2": 2, "key3": 3}
2
3for t in dict_a.items():
4 print(f"{t=}, {t[0]=}, {t[1]=}")
5
6# t=('key1', 1), t[0]='key1', t[1]=1
7# t=('key2', 2), t[0]='key2', t[1]=2
8# t=('key3', 3), t[0]='key3', t[1]=3
辞書型を使っている時点で、キーと値をセットで扱うことが多いと思われるため、items()を使う機会が多いと思う。
キーさえ取り出せれば、値も取得できるが、値も必要な場合、値も最初からループさせた方が処理が見やすくなりやすい。