我想从第三个字符到字符串末尾获得一个新字符串,例如myString[2:end]。如果省略第二部分意味着“到结尾”,如果省略第一部分,它是否从头开始?
当前回答
实现这一点的常见方法是通过字符串切片。
MyString[a:b]提供了从索引a到(b-1)的子字符串。
其他回答
也许我错过了,但我在这页上找不到原始问题的完整答案,因为这里没有进一步讨论变量。所以我不得不继续寻找。
既然我还不能发表评论,让我在这里补充我的结论。我确信在访问此页面时,我不是唯一对此感兴趣的人:
>>>myString = 'Hello World'
>>>end = 5
>>>myString[2:end]
'llo'
如果你离开第一部分,你会得到
>>>myString[:end]
'Hello'
如果将:放在中间,则会得到最简单的子字符串,即第5个字符(计数以0开头,因此在本例中为空):
>>>myString[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'
str1='There you are'
>>> str1[:]
'There you are'
>>> str1[1:]
'here you are'
#To print alternate characters skipping one element in between
>>> str1[::2]
'Teeyuae'
#To print last element of last two elements
>>> str1[:-2:-1]
'e'
#Similarly
>>> str1[:-2:-1]
'e'
#Using slice datatype
>>> str1='There you are'
>>> s1=slice(2,6)
>>> str1[s1]
'ere '
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开始。
使用硬编码索引本身可能会一团糟。
为了避免这种情况,Python提供了一个内置的对象slice()。
string = "my company has 1000$ on profit, but I lost 500$ gambling."
如果我们想知道我还剩多少钱。
正常溶液:
final = int(string[15:19]) - int(string[43:46])
print(final)
>>>500
使用切片:
EARNINGS = slice(15, 19)
LOSSES = slice(43, 46)
final = int(string[EARNINGS]) - int(string[LOSSES])
print(final)
>>>500
使用切片可以获得可读性。
推荐文章
- python中的assertEquals和assertEqual
- 如何保持Python打印不添加换行符或空格?
- 为什么Python的无穷散列中有π的数字?
- Python 3.7数据类中的类继承
- 如何在PyTorch中初始化权重?
- 计数唯一的值在一列熊猫数据框架像在Qlik?
- 如何在Typescript中解析JSON字符串
- 使用Pandas将列转换为行
- 从matplotlib中的颜色映射中获取单个颜色
- 将Pandas或Numpy Nan替换为None以用于MysqlDB
- 使用pandas对同一列进行多个聚合
- 使用Python解析HTML
- 如何分割逗号分隔的字符串?
- Java字符串—查看字符串是否只包含数字而不包含字母
- django MultiValueDictKeyError错误,我如何处理它