首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确的Python -拆分字符串

正确的Python -拆分字符串
EN

Stack Overflow用户
提问于 2022-01-11 06:25:37
回答 4查看 139关注 0票数 0
代码语言:javascript
复制
string = 'ESO 12-4 356.0648792 -80.1770250'

我想把它分解成这样的清单:

代码语言:javascript
复制
list = ['ESO 12-4', '356.0648792', '-80.1770250']

但是,第一部分('ESO 12-4')可以有多个字符串,所以我想把它从末尾剪掉。

我的代码:

代码语言:javascript
复制
print(string.split(' ')[-2:])

输出:

代码语言:javascript
复制
['356.0648792', '-80.1770250']
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2022-01-11 06:30:19

我假设您始终具有以下格式的字符串。

代码语言:javascript
复制
your_string = '<FIRST_PART(CAN CONTAIN SPACES)> <SECOND_PART(WITHOUT SPACES)> <THIRD_PART(WITHOUT SPACES)>'

如果是,可以使用rsplit(maxsplit=2)获得所需的输出。

代码语言:javascript
复制
>>> string = 'ESO 12-4 356.0648792 -80.1770250'
>>> string.rsplit(maxsplit=2)
['ESO 12-4', '356.0648792', '-80.1770250']
票数 3
EN

Stack Overflow用户

发布于 2022-01-11 06:28:56

您可以反转字符串并使用.split()方法的.split()参数。显然,你也应该扭转结果,在最后。试试这个:

代码语言:javascript
复制
>>> [s[::-1] for s in string[::-1].split(" ", 2)[::-1]]
['ESO 12-4', '356.0648792', '-80.1770250']

编辑:您可能应该使用@AbdulNiyasPM发布的.rsplit()方法,而不是使用这个复杂的方法。

票数 0
EN

Stack Overflow用户

发布于 2022-01-11 14:56:27

我是新来的蟒蛇,我喜欢@Abdul Niyas P M @Selcuk的答案。

代码语言:javascript
复制
string = 'ESO 12-4 356.0648792 -80.1770250'
l = len(string.split())
print(string.rsplit(maxsplit=l-2))

#['ESO 12-4', '356.0648792', '-80.1770250']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70662435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档