見出し画像

【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)

では、ビーダゼーン!

※私のやる気アップとブログの品質向上につながりますので、記事が気に入られた方は、「ポチっ」と好きボタンを押してくださったり、フォローいただけますと幸いです🙇。

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