【Python】リストを丸ごと入れ替える

PythonのTopに戻る


 

 i 番目以降の要素を全て入れ替える

まず一般的と思われる交換方法を示す。

list1 = [1, 2, 3, 4, 5, 6]
list2 = [7, 8, 9, 10, 11, 12]

for i in range(len(list1)):
    if (i>=0):
        list1[i], list2[i] = list2[i], list1[i]

print(list1)
print(list2)

このコード内の i を3にするとlist1とlist2の4番目以降の要素を入れ替えることができる。

 

 スライス(:)を使った別法

こちらも汎用性のある方法である。スライスを使うと範囲指定が簡単だし、慣れればコードも読みやすい。

list1 = [1, 2, 3, 4, 5, 6]
list2 = [7, 8, 9, 10, 11, 12]

i = 0
temp = list1[i:].copy()
list1[i:] = list2[i:]
list2[i:] = temp

print(list1)
print(list2)

PythonのTopに戻る