Python 字符串切片步幅说明

新手上路,请多包涵

所以我并没有真正理解切片中的步幅参数。

For example, "123456"[::-2] produces "642" , but why does "123456"[1::-2] produce "2" and "123456"[2::-2] produce "31"

原文由 user995788 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 633
1 个回答

最简单的解释方法可能是解决您的示例:

 "123456"[::-2]
# This takes the whole string ([::])
# Then it works backward (-)
# and it does every other character (2)

"123456"[1::-2]
# This is also working backward (-)
# every other character (2)
# but starting at position 1, which is the number 2.

"123456"[2::-2]
# Again, working backward (-)
# Every other character (2)
# begin at position 2, so you end up with positions 2, and 0, or '31'

切片语法是 [<start>:<end>:step] 。如果 <start> 被省略并且步长为负,则它从字符串的末尾开始。

原文由 g.d.d.c 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏