Python でリストの要素を交換する
リストは Python の変更可能な (変更可能な) データ構造であり、順序付けられたアイテムのコレクションを格納します。 この記事では、リストの要素を交換するいくつかの異なる方法を見ていきます。
代入演算子を使用して Python でリストの要素を交換する
要素のリストを交換する最も簡単で最も一般的に使用される方法の 1つは、代入演算子とコンマを使用する方法です。
次のコードでは、リストを作成し、代入演算子の右側から左側の変数に対応する値を割り当てる代入演算子を使用して、インデックス 1
の値をインデックス 3
と交換しています。
コード例:
# Python 3.x
list = [6, 2, 7, 8]
print("list before swapping:", list)
list[1], list[3] = list[3], list[1]
print("list after swapping:", list)
出力:
#Python 3.x
list before swapping: [6, 2, 7, 8]
list after swapping: [6, 8, 7, 2]
代入演算子を使用すると、一度に 2つの変数の値のみを交換できます。 複数の値を交換したい場合は、ループを使用して行うことができます。
次のコードでは、変数 i
と j
はスワップする要素のインデックスを保持します。 インデックス 0
と 3
の値は最初の繰り返しで交換され、インデックス 4
と 6
の要素は 2 回目の繰り返しで入れ替わります。
コード例:
# Python 3.x
list = [
6,
2,
7,
8,
5,
9,
10,
3,
]
print("list before swapping:", list)
for i, j in [(0, 3), (4, 6)]:
list[i], list[j] = list[j], list[i]
print("list after swapping:", list)
出力:
#Python 3.x
list before swapping: [6, 2, 7, 8, 5, 9, 10, 3]
list after swapping: [8, 2, 7, 6, 10, 9, 5, 3]
Python で 3 番目の変数を使用してリストの要素を交換する
最初のアプローチを使用して要素を直接交換しない場合、常に 3 番目の変数が必要です。 3 番目の変数は、スワップ後に実際のインデックスで失われるため、インデックスの値を一時的に保持します。
次のコードでは、インデックス 1
の値を temp
変数に割り当て、インデックス 3
をインデックス 1
に割り当てています。 次に、temp
の値 (インデックス 1
の格納値) をインデックス 3
に割り当てました。
コード例:
# Python 3.x
list = [6, 2, 7, 8]
print("list before swapping:", list)
temp = list[1]
list[1] = list[3]
list[3] = temp
print("list after swapping:", list)
出力:
#Python 3.x
list before swapping: [6, 2, 7, 8]
list after swapping: [6, 8, 7, 2]
pop()
関数を使用して Python でリストの要素を交換する
リストを指定した pop()
関数は、指定されたインデックスから値を削除して返します。 次のコードでは、インデックスを使用してリストから 2つの要素をポップし、返された値を 2つの変数に格納しています。
ここで重要なことは、インデックス 1
を使用して値 2
を削除したことですが、インデックス 2
を使用して値 8
をクリアしたことです。 リストから項目をポップした後、合計 3つの要素を持つことになるからです。
したがって、8
のインデックスは 2
になります。 最後に、インデックスを逆順に指定して、これらの値をリストに再度挿入しました。
コード例:
# Python 3.x
list = [6, 2, 7, 8]
print("list before swapping:", list)
val1 = list.pop(1)
val2 = list.pop(2)
list.insert(1, val2)
list.insert(2, val1)
print("list after swapping:", list)
出力:
#Python 3.x
list before swapping: [6, 2, 7, 8]
list after swapping: [6, 8, 7, 2]
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn