关于这段代码如何工作的解释

时间:2012-03-27 07:33:57

标签: python

def missing_char(str,n):
    front = str[:n]
    back = str[n+1:]
    return front + back

我真的不明白在定义back时会说些什么,而且我不明白当你用“return front + back”在函数中输入一个单词时,这实际上是如何取出你指定的字母的一部分。

感谢大家的帮助,你们都让我更了解它:)。

4 个答案:

答案 0 :(得分:7)

str[:n]将字符串从一开始复制到第n个字符,但不包括第n个字符。 str[n+1:]将字符串从第(n + 1)个字符复制到结尾。

添加这两个字符串将导致原始字符串的所有字符,之外的第n个字符。

str[:n]str[0:n]的简写,str[n:]str[n:len(str)]的简写。

答案 1 :(得分:3)

front = str[:n] 
# get prefix of str with n characters
# for str = "hello" and n=2 front = "he"

back = str[n+1:] 
# get suffix of the string starting from n+1th character
# for str = "hello" and n=2 back = "lo"

front + back 
# concatenation of front + back, which is "he" + "lo" = "helo"
# So this small method basically removes the nth character

答案 2 :(得分:2)

front计算为str中所有字母到n位置,然后back计算为str中位置n+1的所有字母 - 即跳过n本身的字母。然后front + back简单地将两个片段连接在一起并返回结果字符串。

答案 3 :(得分:0)

让我们看看"Hello, World!"并取出角色5(无论如何都需要标点符号)。

当您致电missing_char时,您将获得以下步骤:

  1. front设置为“Hello”(字符从零到n)
  2. back设为“世界!” (从n+1到结尾的字符)
  3. 返回正面和背面的串联,基本上将back放在front的末尾,从而得到“Hello World!”的最终答案。
  4. 您可能希望更详细地查看拼接,this answer之类的内容确实非常有用。一旦理解,这是一个非常强大的功能。