【Python】リストの最初と最後の要素を入れ替える方法を解説
Pythonを使ってリストの最初と最後の値を入れ替えたい場合、専用の関数を定義し、シンプルな手法で処理を実現できます。ここでは、一時変数(temp)を利用した基本的な入れ替え方法を紹介します。
以下に具体的なコード例を示します。
サンプルコード
def list_swapping(my_list):
size_of_list = len(my_list)
temp = my_list[0]
my_list[0] = my_list[size_of_list - 1]
my_list[size_of_list - 1] = temp
return my_list
my_list = [34, 21, 56, 78, 93, 20, 11, 9]
print("The list is :")
print(my_list)
print("The function to swap the first and last elements is swapped")
print(list_swapping(my_list))
実行結果
The list is : [34, 21, 56, 78, 93, 20, 11, 9] The function to swap the first and last elements is swapped [9, 21, 56, 78, 93, 20, 11, 34]
解説
list_swappingという名前の関数を定義します。この関数は、入れ替え対象のリストを引数として受け取ります。
len()関数でリストの長さを取得し、最後の要素のインデックスを求めます。一時変数
tempを使って、最初の要素と最後の要素を入れ替えます。入れ替え後のリストを戻り値として返します。
関数の外側でリストを定義し、その内容をコンソールに表示します。
定義したリストを引数として関数を呼び出し、結果をコンソールに出力します。
補足:タプルアンパッキングを使った簡潔な書き方
Pythonでは、タプルアンパッキングを利用すると、一時変数なしでより簡潔に入れ替え処理を記述できます。
def list_swapping(my_list):
my_list[0], my_list[-1] = my_list[-1], my_list[0]
return my_list
負のインデックス -1 を使えばリストの長さを取得する必要がなく、コードも短くなるため可読性が向上します。Pythonらしいイディオムとして覚えておくと便利です。
-
Pythonで先頭・末尾の文字を削除して再挿入し、目標の文字列を作る最小操作回数を求める
問題概要 互いにアナグラム(同じ文字で構成される順列)の関係にある2つの文字列 S と T が与えられます。S に対して許されている操作は、「先頭または末尾の1文字を取り除き、文字列中の任意の位置に挿入する」というものです。この操作を繰り返して S を T に一致させるとき、必要となる最小の操作回数を求めます。 入出力の例 たとえば、入力が s = zyvxw、t = vwxyz の場合、出力は 3 になります。実際の操作手順は次のとおりです。 末尾の w を取り除き、v の直後に挿入 → zyvwx 先頭の z を取り除き、x の直後に挿入 → yvwxz 先頭の y を取り除き、x の
-
Pythonでリストのインデックスと値を取得する3つの方法(index・range・enumerate)
Pythonでリストを扱っていると、特定の位置にある要素へアクセスしたり、逆に要素からインデックスを取得したりする場面が頻繁に発生します。この記事では、リスト内の要素のインデックスや値を取得するための代表的な3つの方法を、サンプルコード付きでわかりやすく解説します。 方法1:list.index() を使う index() メソッドは、指定した要素がリストのどの位置に存在するかを調べたいときに便利です。引数に要素の値を渡すと、その要素のインデックス位置(先頭は0)が返されます。 サンプルコード listA = [11, 45, 27, 8, 43] # 45 のインデックスを表示 prin