使用切片了解Python代码

时间:2017-03-16 14:52:25

标签: python indexing slice

所以目前我正在努力解决这个问题,并且每一步都要努力深刻理解它!目前我知道在第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)

1 个答案:

答案 0 :(得分: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]