Pythonでのリストの循環回転方法


  1. リストスライスを使用する方法:

    def rotate_list(lst, k):
       k = k % len(lst)  # kがリストの長さより大きい場合の対処
       return lst[-k:] + lst[:-k]
    # 使用例
    my_list = [1, 2, 3, 4, 5]
    rotated_list = rotate_list(my_list, 2)
    print(rotated_list)  # 出力: [4, 5, 1, 2, 3]
  2. リストの一時的なコピーを使用する方法:

    def rotate_list(lst, k):
       k = k % len(lst)  # kがリストの長さより大きい場合の対処
       rotated = lst.copy()
       for i in range(len(lst)):
           rotated[(i + k) % len(lst)] = lst[i]
       return rotated
    # 使用例
    my_list = [1, 2, 3, 4, 5]
    rotated_list = rotate_list(my_list, 2)
    print(rotated_list)  # 出力: [4, 5, 1, 2, 3]

これらの方法を使用すると、リストの要素を指定した数だけ循環的に移動させることができます。適切な方法を選択し、必要に応じてコードを調整してください。