You need to enable JavaScript to run this app. Python中如何将列表的首个元素移动到列表末尾
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将列表的首个元素移动到列表末尾

实现方法

你需要的转换效果本质是将列表首个元素移位到列表末尾,存在多种适配不同场景的可行方案:

1. 原地修改(最简实现)

直接弹出列表首元素,追加到列表末尾即可完成转换:

# 初始化目标列表
numbers = [3, 1, 2]
# 执行移位操作
numbers.append(numbers.pop(0))
  • 执行完成后numbers的值为[1, 2, 3]
  • 会直接修改原列表内容,无额外内存开销,适合列表长度较小的场景

2. 生成新列表(不改动原数据)

如果需要保留原列表的原始内容,可通过列表切片拼接实现:

numbers = [3, 1, 2]
# 取出列表从第二个元素开始的所有内容,拼接首元素生成新列表
new_numbers = numbers[1:] + [numbers[0]]
  • 最终生成的new_numbers为[1, 2, 3]
  • 原numbers的值不会被修改,适合需要保留原始数据的场景

3. 长列表高性能实现

如果列表长度较大且需要频繁执行移位操作,原生列表的pop(0)为O(n)时间复杂度,性能损耗较高,此时可使用双端队列deque实现,移位操作时间复杂度仅为O(1):

from collections import deque
numbers_deque = deque([3, 1, 2])
# 传入参数-1,代表将最左侧的元素移动到最右侧
numbers_deque.rotate(-1)
# 如需转回普通列表格式可执行类型转换
new_numbers = list(numbers_deque)
  • 大列表下移位操作性能远高于原生列表实现
  • 支持转回普通列表格式适配原有业务逻辑

内容的提问来源于stack exchange,提问作者Yaros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.28 08:36:05