在奇数位置拆分列表

时间:2019-02-08 02:39:08

标签: python

我需要在每个空格处分割此列表,然后再分割一个数字。不过,数字是列表中的字符串。

data_listtrial[2].split(' ')
['TransAtlantic', 'Petroleum', 'Ltd', '1.57', '99.86']

在上面,我希望“ TransAtlantic”,“ Petroleum”和“ Ltd”最终成为列表中的一个元素。而数据“ 1.57”和“ 99.86”应分别是自己的元素。

在分割空格之前,列表看起来像列表:

('TransAtlantic Petroleum Ltd 1.57 99.86')

我的正则表达式知识缺乏吗?

最好, 鲁道夫

2 个答案:

答案 0 :(得分:5)

要在每个空格后跟一个数字分割一个字符串,可以将re.split与超前模式一起使用:

import re
s = 'TransAtlantic Petroleum Ltd 1.57 99.86'
re.split(r' (?=\d)', s)

这将返回:

['TransAtlantic Petroleum Ltd', '1.57', '99.86']

答案 1 :(得分:3)

只需使用str.rsplit从右侧拆分,然后指定maxsplit即可保留公司名称不变

>>> s = 'TransAtlantic Petroleum Ltd 1.57 99.86'
>>> s.rsplit(maxsplit=2)
['TransAtlantic Petroleum Ltd', '1.57', '99.86']