2017-03-16 130 views
0

因此,目前我正在研究此问题,并且真正努力深入理解它的每一步!目前我知道在第3行中,它被改为“Bungo Batgins”,但是在第6行,我不确定为什么该单词改成“Batgins,Bungo”。我知道它是找到索引5的空间,然后添加到索引6以添加逗号。我只是不太明白为什么这两个词翻转?如果有人能够解释为什么这两个词会把对方放在一起,那将是非常棒的!非常感谢你!使用切片了解Python代码

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) 
+0

在第二个字'= ...'声明,切片部分交换。 .. –

+0

因此,单词[idx + 1:]是否仅包含Batgins? – ProFesh

+0

确实。你在空间中分裂。并且'word [idx + 1:]'包含从该空间的字符** next **开始的切片... –

回答

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]