Pythonのリストに使えるモジュール その2

リスト(辞書も)を扱うときにあると便利かもしれないものをまた見つけたので、少し書きます。今回はループを利用したものです。

辞書のキーと値を同時に表示する

(辞書名).items()をループで用いると、キーとそれに対応する値を同時に扱うことができます。

>>> ingredients = {"砂糖":"小さじ1","塩":"小さじ2","醤油":"小さじ3"}
>>> for i,a in ingredients.items():
# iはキー、aは値を順番に呼び出す変数
...     print(i+":"+a)
...
砂糖:小さじ1
塩:小さじ2
醤油:小さじ3


値をナンバリングして表示する

enumerate((リスト名))でリストの値の前に数字をつけることができます。
ただし0から始まるので細かな調整が必要な場合もあります。

>>> materials = ["egg","milk","cheese","apple","carrot"]
>>> for n,m in enumerate(materials):
# nはナンバリング、mはリストmaterialsの値を順番に呼び出す変数
...     print(n+1,m)            
# 0から始まるので1から始めるときはn+1とする
...
1 egg
2 milk
3 cheese
4 apple
5 carrot


元のリストは変えずに、扱うリストをソートする

sorted((リスト名))でリストをソートします。ただし元のリストがソートされた状態に変更されることはありません。

>>> materials = ["egg","milk","cheese","apple","carrot"]
>>> for i,m in enumerate(sorted(materials)):
...     print(i+1,m)
...
1 apple
2 carrot
3 cheese
4 egg
5 milk
>>> print(materials)
['egg', 'milk', 'cheese', 'apple', 'carrot']
# 元のリストは変更されていない


今回はこんなところで。

MU生活向上の会(MUQoL)は私のような初心者をはじめとした、さまざまなレベルの人が集まってプログラミングに触れ、互いの知見や制作物を共有する会です。あなたも参加してみませんか?興味のある方や疑問のある方は生活向上の会(@muprgm)まで気軽にDMを送ってくださいね。


この記事が気に入ったらサポートをしてみませんか?