Python:整数リストで表された数値の最後の桁を1つインクリメントする方法
リスト形式で表された数値に対して、最後の桁(末尾の要素)を1つ増やしたい場合があります。このようなときは、「increment_num」という名前のメソッドを定義し、リストの最後の要素が9未満かどうかを判定します。この判定結果に応じて、リストの各要素に対して適切な処理(繰り上がりの処理)を行います。
サンプルコード
以下に実際の例を示します。
def increment_num(my_list, n):
i = n
if(my_list[i] < 9):
my_list[i] = my_list[i] + 1
return
my_list[i] = 0
i -= 1
increment_num(my_list, i)
n = 4
my_list = [0, 1, 4, 7, 9]
print("The list is :")
print(my_list)
increment_num(my_list, n)
print("After incrementing, the list is :")
print(my_list)
出力
The list is : [0, 1, 4, 7, 9] After incrementing, the list is : [0, 1, 4, 8, 0]
解説
まず、「increment_num」という名前のメソッドを定義します。このメソッドは、リストと数値(インデックス)を引数として受け取ります。
リストの最後の要素が9未満であるかどうかを確認します。
9未満であれば、その要素に1を加算して処理を終了します。
最後の要素が9だった場合(繰り上がりが必要な場合)は、その要素を0に戻し、インデックスを1つ前にずらして、再度「increment_num」メソッドを再帰的に呼び出します。
関数の外側では、変数「n」(操作対象となるインデックス)とリストを定義します。
定義したリストをコンソールに表示します。
必要なパラメータを渡してメソッドを呼び出し、処理を実行します。
インクリメント後のリストがコンソールに出力されます。
このように、通常の十進法での足し算と同じ考え方で、桁ごとに繰り上がりを処理することで、リストとして表現された数値でも正しく1を加算することができます。
-
Pythonでリスト内の要素のインデックス(位置)を取得する方法
Pythonでは、リスト(シーケンス型全般)に含まれる要素の位置を取得するには、index()メソッドを使用します。このメソッドは、指定した要素が最初に出現するインデックスを返します。index()メソッドの基本的な使い方リストに対してindex()を呼び出し、引数に検索したい要素を指定します。>>> L1=[45, 32, 100, 10, 24, 56] >>> L1.index(24) 4この例では、リストL1の中から値24を検索し、その位置であるインデックス4が返されています。Pythonのインデックスは0から始まるため、5番目の要素がインデックス4
-
Pythonでリストの最後の要素を取得する方法【初心者向け】
Pythonでリストの最後の要素を取得する基本方法 Pythonでは、リストをはじめとするシーケンス型オブジェクトに対して、インデックス(添字)を使って任意の要素にアクセスできます。インデックスは0から始まるため、最初の要素は「0」、2番目の要素は「1」というように指定します。 ここで重要になるのが負のインデックスです。負の数を指定すると、リストの末尾から逆順に数えて要素を取得できます。したがって、リストの最後の要素を取得したい場合は、インデックスとして -1 を指定するだけでOKです。 >>> L1 = [1, 2, 3, 4, 5] >>> print(