Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでリストのインデックスを指数として累乗を計算する方法

リストの各要素を、そのインデックス(添字)を指数として累乗したい場合があります。このような処理は、シンプルな反復処理と ** 演算子(べき乗演算子)を組み合わせることで簡単に実現できます。

サンプルコード

以下に具体的な実装例を示します。

my_list = [62, 18, 12, 63, 44, 75]

print("The list is :")
print(my_list)

my_result = []

for my_index, elem in enumerate(my_list):
   my_result.append(elem ** my_index)

print("The result is :")
print(my_result)

実行結果

The list is :
[62, 18, 12, 63, 44, 75]
The result is :
[1, 18, 144, 250047, 3748096, 2373046875]

処理の流れの解説

  • まず、累乗計算の対象となるリストを定義し、コンソールに表示します。

  • 次に、計算結果を格納するための空のリストを用意します。

  • enumerate() 関数を使ってリストを反復処理し、各要素をそのインデックスでべき乗した値を順番に空のリストへ追加していきます。ここでポイントとなるのは、最初の要素がインデックス0であるため、62 ** 0 = 1 となる点です。

  • 最後に、計算結果のリストをコンソールに出力して完了です。

補足:リスト内包表記を使ったより簡潔な書き方

上記のコードは、Pythonのリスト内包表記を使うことで、さらに簡潔に記述することもできます。

my_result = [elem ** my_index for my_index, elem in enumerate(my_list)]

このように書くことで、forループとappendの処理を1行にまとめられ、可読性も向上します。状況に応じて使い分けるとよいでしょう。

  1. Pythonでリストの最後の要素を取得する方法【初心者向け】

    Pythonでリストの最後の要素を取得する基本方法 Pythonでは、リストをはじめとするシーケンス型オブジェクトに対して、インデックス(添字)を使って任意の要素にアクセスできます。インデックスは0から始まるため、最初の要素は「0」、2番目の要素は「1」というように指定します。 ここで重要になるのが負のインデックスです。負の数を指定すると、リストの末尾から逆順に数えて要素を取得できます。したがって、リストの最後の要素を取得したい場合は、インデックスとして -1 を指定するだけでOKです。 >>> L1 = [1, 2, 3, 4, 5] >>> print(

  2. Pythonでリスト内の要素のインデックスを取得する方法

    index()メソッドで最初の出現位置を取得する リスト(文字列やタプルなど、他のシーケンス型でも同様)に用意されている index() メソッドを使うと、特定の要素が最初に出現する位置(インデックス)を簡単に見つけることができます。 >>> L1=[a, b, c, a, x] >>> L1 [a, b, c, a, x] >>> L1.index(a) 0 この例では、リスト L1 の中で a が最初に出現するのはインデックス 0 の位置であるため、0 が返されます。なお、指定した要素がリスト内に存在しない場合は ValueError