Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python在字符串中切片两次 message=“帮助我欧比-万·克诺比,你是我唯一的希望。” message=消息[8:][:-22] 打印(消息[8:],end=”“)_Python - Fatal编程技术网

Python在字符串中切片两次 message=“帮助我欧比-万·克诺比,你是我唯一的希望。” message=消息[8:][:-22] 打印(消息[8:],end=”“)

Python在字符串中切片两次 message=“帮助我欧比-万·克诺比,你是我唯一的希望。” message=消息[8:][:-22] 打印(消息[8:],end=”“),python,Python,结果:克诺比 是否顺序是从左到右,在第一个[:]之后返回下一个[:]的结果? 任何文档声明它将返回第二个[:]的结果?[8:][/code>都是从切片开始的地方开始的[:-22]直到切片完成时,-22指示应从上一个索引向后切片22个位置。分多个步骤考虑该操作 第一:整条绳子 “帮助我,欧比-万·克诺比,你是我唯一的希望。” 第二。从8开始切片字符串。结果: “欧比旺·克诺比,你是我唯一的希望。” 第三,。从末尾开始从22中切片结果。结果: “欧比旺·克诺比” 最后,当您打印时,您将再次进行切片,

结果:克诺比

是否顺序是从左到右,在第一个[:]之后返回下一个[:]的结果?
任何文档声明它将返回第二个[:]的结果?

[
8:][/code>都是从切片开始的地方开始的<代码>[:-22]
直到切片完成时,
-22
指示应从上一个索引向后切片22个位置。

分多个步骤考虑该操作

第一:整条绳子

“帮助我,欧比-万·克诺比,你是我唯一的希望。”

第二。从
8
开始切片字符串。结果:

“欧比旺·克诺比,你是我唯一的希望。”

第三,。从末尾开始从
22
中切片结果。结果:

“欧比旺·克诺比”

最后,当您打印时,您将再次进行切片,因此第四步:

“克诺比”

因此,您可以看到,多个方括号并不一定意味着多个维度,而是链式操作,每个操作都是对上一个操作的结果执行的


在数组数组中,这具有访问您的值的效果,在字符串中,它只是意味着在更多的位置进行切片。

消息[8::
返回从
消息左侧第8个位置开始的所有元素

>>> message[8:]
"Obi-Wan Kenobi, you're my only hope."
>>> message[8:][:-22]
"Obi-Wan Kenobi"
消息[8:][:-22]
返回消息[8:][/code>右侧第22个位置的所有元素(
“欧比旺·克诺比,你是我唯一的希望。”
)继续

因此,如果再次打印
消息[8://code>,它将从
“欧比-万-克诺比”
左侧的第8个位置返回所有元素,即
“克诺比”

  • message[8:://code>表示从第9个字符到字符串末尾的字符串<代码>欧比旺·克诺比,你是我唯一的希望。
  • 消息[8::[:-22]
    然后执行第二个切片
    [:-22]
    -ve索引表示从末尾切片字符串。在这里,字符串被切片,它从结尾处取出所有的字符,剩下22个字符<代码>欧比旺·克诺比
  • 因此,您在
    消息[8::][:-22]
    之后的字符串将变成
    Obi-Wan-Kenobi
  • 最后,在打印时,您将再次对字符串进行切片
    print(message[8:],end=“”)
    ,该字符串接受
    Obi-Wan-Kenobi
    ,并对其进行切片,以获取字符串中第9个字符的所有字符,即
    Kenobi

  • message[8:][/code>返回从索引8开始的字符串,并且
    [:-22]
    向上(但不包括)到最后一个索引的第22个字符串。最好只执行
    消息[8:-22]
    。[8:]表示希望从第8个索引位置开始字符串(索引0是第一个位置)。22表示你想从后面停在第22位,这是否回答了你的问题@两个[:]可以组合成一个吗?答案比问题更有趣。都是。真是巧合。