You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python字符串左移两位问题:现有解法是否有更优雅实现?

左移两位字符串的优化实现

问题说明

给定长度≥2的字符串,返回将前两个字符移至末尾的“左移2位”版本,示例如下:

  • left2('Hello') → 'lloHe'
  • left2('java') → 'vaja'
  • left2('Hi') → 'Hi'

我当前的解法

def left2(str):
  first = list(str)
  first.insert(len(first),first.pop(0))
  first.insert(len(first),first.pop(0))
  x = ''.join(first)
  return x

更简洁高效的实现

Python的字符串切片可以直接完成这个需求,不需要转列表做复杂操作,一行代码就能解决:

def left2(s):
    return s[2:] + s[:2]

为什么这更优雅?

  • 简洁性:直接利用切片语法拆分重组字符串,逻辑一目了然
  • 效率更高:字符串切片是Python底层优化的操作,比转列表后执行pop/insert的效率高很多
  • 可读性强:看代码就能立刻明白是取后面部分拼接前两个字符,不需要理解列表操作的细节

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 22:06:27