【问题标题】:Python slicing with wrapping from negative to positive numbersPython切片,从负数到正数
【发布时间】:2018-08-07 22:52:15
【问题描述】:

假设我有一个字符串“abcde”,并且想要得到“deab”。如何使用字符串切片获得“deab”?

我试过使用string[-2:1],但这给了我一个空的结果''

我正在从事的项目使得将其拆分为[-2:][:2] 很困难,因此提出了问题。谢谢!

【问题讨论】:

  • 你不能。使用两片
  • 为什么不从后面拼接,从前面拼接。
  • 切片不换行。 "abcde" 的任何切片都不会产生 "deab"
  • 究竟是什么让它变得困难?
  • 你的意思是[:2],对吧?

标签: python string slice


【解决方案1】:

您可以通过将字符串加倍来模拟换行:

(string * 2)[3:7]

这并不一定比以通常的方式获得两个切片效率低得多:它只创建一个临时字符串而不是两个,但显然需要更多的空间。

【讨论】:

  • 很有趣
  • @ArpitSolanki。我很高兴你喜欢它。
  • 本来会给出 100 个赞,但我不能。不过让我笑了
  • 这是一个很酷的主意!如果空间不成问题,我可能会使用它:)
  • @ilee。您认为空间有多少是一个问题?
【解决方案2】:

你可能想要这个,

s[-2:] + s[:2]

【讨论】:

  • 尽管这显然是 OP 试图避免的,但它是正确的答案。 +1
猜你喜欢
  • 2012-07-05
  • 1970-01-01
  • 2022-11-10
  • 1970-01-01
  • 1970-01-01
  • 2022-11-30
  • 1970-01-01
  • 2021-04-21
  • 2020-12-11
相关资源
最近更新 更多