【问题标题】:Understanding Python Code Using Slicing使用切片理解 Python 代码
【发布时间】:2017-08-07 19:54:48
【问题描述】:

所以目前我正在研究这个并且真的试图深入理解它的每一步!目前我知道在第 3 行它被更改为“Bungo Batgins”,但在第 6 行我不确定为什么/如何更改为“Batgins,Bungo”。我知道它正在查找索引 5 的空间,然后添加到索引 6 以添加逗号。我只是不太明白为什么这两个词会翻转?如果有人能解释为什么这两个词互相取代,那就太好了!非常感谢!

word = "Bungo Baggins"
idx = word.find('gg')
word = word[ : idx] + 't' + word[idx + 1 : ]
idx = word.find(' ')
print(idx)
word = word[idx + 1 : ] + ", " + word[ : idx]
print(word)

【问题讨论】:

  • 在第二个word = ... 语句中,切片部分被交换...
  • 那么 word[idx+1:] 是否只包括 Batgins?
  • 确实如此。你在空间中分裂。并且word[idx+1:] 包含从该空间的字符 next 开始的切片...

标签: python indexing slice


【解决方案1】:

word = word[idx + 1 : ] + ", " + word[ : idx] 行中,右侧转换为:

word[idx + 1 : ]:取word的每个元素,从idx+1开始直到结束

word[ : idx]:取word的每个元素,从开始到idx结束。

基本上,[a:b] 中的缺失索引会转换为该方向的极值索引:[:idx] 实际上是 [0:idx],而 [idx:] 确实是 [idx:end]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多