Shift list elements to the right and shift list element at the end to the beginning

前端 未结 12 1724
天涯浪人
天涯浪人 2021-02-08 08:43

I want to rotate elements in a list, e.g. - shift the list elements to the right so [\'a\',\'b\',\'c\',\'d\'] would become [\'d\',\'a\',\'b\',\'c\'], o

12条回答
  •  伪装坚强ぢ
    2021-02-08 09:08

    The question seems to imply to me that the list itself should be modified rather than a new list created. A simple in place algorithm is therefore:

    lst = [1, 2, 3, 4, 5]
    
    e1 = lst[-1]
    for i, e2 in enumerate(lst):
        lst[i], e1 = e1, e2
    
    print(lst)
    

    Giving:

    [5, 1, 2, 3, 4]
    

提交回复
热议问题