我想从第三个字符到字符串末尾获得一个新字符串,例如myString[2:end]。如果省略第二部分意味着“到结尾”,如果省略第一部分,它是否从头开始?


当前回答

我想在讨论中补充两点:

您可以在空白处使用None来指定“从开始”或“到结束”:“abcde”[2:无]==“abcde'[2:]==”cde“这在函数中特别有用,因为在函数中不能提供空格作为参数:def子字符串(s,start,end):“”“删除开头和结尾的“start”字符字符串“s”结尾的字符。示例-------->>>子字符串('abcde',0,3)“abc”>>>子字符串('abcde',1,无)“bcdedit”"""return s[开始:结束]Python具有切片对象:idx=切片(2,无)'abcde'[idx]=='abcde'[2:]=='cde'

其他回答

a="Helloo"
print(a[:-1])

在上面的代码中,[:-1]声明从开始打印到最大限制-1。

输出:

>>> Hello

注意:这里a[:-1]也与a[0:-1]和a[0:len(a)-1]相同

a="I Am Siva"
print(a[2:])

输出:

>>> Am Siva

在上面的代码中,[2:]声明从索引2打印到最后一个元素。

请记住,如果您将打印字符串的最大限制设置为(x),那么它将打印字符串直到(x-1),并且还请记住列表或字符串的索引将始终从0开始。

我想在讨论中补充两点:

您可以在空白处使用None来指定“从开始”或“到结束”:“abcde”[2:无]==“abcde'[2:]==”cde“这在函数中特别有用,因为在函数中不能提供空格作为参数:def子字符串(s,start,end):“”“删除开头和结尾的“start”字符字符串“s”结尾的字符。示例-------->>>子字符串('abcde',0,3)“abc”>>>子字符串('abcde',1,无)“bcdedit”"""return s[开始:结束]Python具有切片对象:idx=切片(2,无)'abcde'[idx]=='abcde'[2:]=='cde'

>>> x = "Hello World!"
>>> x[2:]
'llo World!'
>>> x[:2]
'He'
>>> x[:-2]
'Hello Worl'
>>> x[-2:]
'd!'
>>> x[2:-2]
'llo Worl'

Python将这一概念称为“切片”,它不仅仅适用于字符串。请在此处查看全面介绍。

除了“结束”,你就在那里。这叫做切片表示法。您的示例应为:

new_sub_string = myString[2:]

如果省略了第二个参数,则它隐式地是字符串的结尾。

实现这一点的常见方法是通过字符串切片。

MyString[a:b]提供了从索引a到(b-1)的子字符串。