我想把所有元素都向右移动,例如如果我有一个列表[1, 2, 3, 4, 5]
,它将变为[5, 1, 2, 3, 4]
。基本上,最右边的元素会回到最左边,其他元素则向右移动。
这是我的代码:
length = len(values)
old_right = values[length - 1]
for j in range(length - 1, 0, -1):
values[j] = values[j - 1]
values[0] = old_right
当我在IDLE中输入它时,最后一行的values[0]处(在values上有高亮标记),会出现一个错误,显示为“SyntaxError: invalid syntax”。我不知道为什么会出现这个错误。
此外,如何更改我的代码以使其从[5, 4, 3, 2, 1]返回到[1, 2, 3, 4, 5],即反转过程?
lst[-1:] + lst[:-1]
代替[lst[-1]] + lst[:-1]
。 - Renan Vilas Novas[i for i in xrange(len(lst),0,-1)]
- Renan Vilas Novaslst[::-1]
呢? - Padraic Cunningham