
【Python】え、逆順に!?リストの各要素を処理して出力してみる
「から始めるのか、後ろから始めるのか、それが問題だ…。」
あ、どうも、こんにちは!今日もPythonの構文の勘所を学んでみましょうという企画です。本日のテーマは、「リストのループ処理」です。先日、ご紹介しましたね😄。
リストの要素を先頭から順に処理していく構文でございます!でもね、いつも先頭からとは、限らないですよね。そう、一番後ろからさかのぼって処理することだったあり得ます。
先頭からでも、後ろからでもどちらもループ処理できるようになりますか?なりたいですね?私もなりたい~😭。ということで、リストの後ろからさかのぼって処理する構文を解説しましょう!
リストの先頭から処理する構文との比較
まずは、リストの先頭から処理する構文を少し振り返ります。まずは、標準的な使い方を見ておかないとね。構文は次の通りです。
for 要素に当たる変数 in リスト(その他イテラブルな変数):
処理
繰り返し処理の対象となるリスト名を「in」の後ろに「そのまま」書きます。これを頭のすみっこに、いやどうせなら、真ん中にでもおいといてください😉。
先日のブログで、次のようなサンプルをご紹介しました。リストの要素を5倍して出力しています。

はい、ここまでOKですね~。
ひと手間加えるだけ!逆順に処理
では、後ろからさかのぼって処理させましょう!基本構文は、次の通りとなります!
for 要素に当たる変数 in reversed(リスト):
処理
「なんか、さっきの構文から何か変わりました!?😑」
いや、結構、目立つと思うんですけど。reversed(「遡って」という意味)という見慣れない単語が😅!そう、「in」の後ろにリスト名をそのまま書くのではなくて、reversedのカッコの中に入れています。これだけで逆順に処理できるのかな?
試してみるとこんな感じです。

ふむ、かなり気軽にリストを逆順で処理できるじゃないですか~🙂。
一応、もうちょっと解説しましょう。
「要素に当たる変数」には、任意で何か書いてください。ここでは、valueとしてあります。処理の箇所で、ループするごとに、5,4,3,2,1と変化します。そのValueを5倍した結果を変数aに代入し、そのaをループの都度、出力したということです。
ということで、リストをループ処理で遡って処理しようというお話でした~。わりと簡単に実現できましたね~。
あ、ソースコードはこちらです。
#リストを準備します。
data = [1,2,3,4,5]
#ループで各要素を5倍して遡って出力します。
for value in reversed(data):
a = value * 5
print(a)
では、ビーダゼーン!
※私のやる気アップとブログの品質向上につながりますので、記事が気に入られた方は、「ポチっ」と好きボタンを押してくださったり、フォローいただけますと幸いです🙇。