Python 列表旋转
Python 编程语言提供了多种操作列表的方法,包括旋转其元素的任务。旋转涉及将列表中的每个元素向指定方向(向右或向左)移动指定数量的位置。
Python 中列表旋转的一种简单而有效的方法是通过切片和串联。以下代码定义了执行此操作的函数:
def rotate(l, n):
return l[-n:] l[:-n]
该函数中,l表示输入列表,n表示要旋转的位置数。该函数首先使用切片创建两个新列表:l[-n:] 和 l[:-n]。前者捕获列表末尾的元素,而后者捕获剩余的元素。然后将两个列表连接起来以实现所需的旋转。
例如,考虑下面的 Python 列表 l:
l = [1, 2, 3, 4, 5]
如果我们希望将 l 向右旋转一个位置,我们可以调用rotate(l, 1):
rotated_l = rotate(l, 1)
print(rotated_l) # Output: [2, 3, 4, 5, 1]
在这个例子中,原始列表的第一个元素被移到末尾,得到输出列表 [2, 3 , 4, 5, 1].
rotate 函数还可以处理 n 的负值,表示向左旋转。使用负数 n,元素将移动到右侧而不是左侧。
rotated_l = rotate(l, -1)
print(rotated_l) # Output: [5, 1, 2, 3, 4]
在本例中,l 向左旋转一个位置,将最后一个元素移动到前面。
需要注意的是,rotate 函数不会修改输入列表 l。相反,它会创建一个包含旋转元素的新列表。此行为与 Python 的不可变列表设计一致,不鼓励修改原始列表。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3